LINUX.ORG.RU

Вопрос нуба по функции.

 


0

1

Заранее извиняюсь за глупый вопрос и лоруглинг. Хочу повесить функцию на изменение текстового поля непосредственно из js. Вешаю в событии window.onload. Суть проблемы: если вешать анонимную функцию, то всё работает:

window.onload = function() {
    some_element.onkeyup = function() {
        ...
    }
}
Хотелось бы задать функцию следующим образом:
function someFunc() {
    ...
}

window.onload = function() {
    some_element.onkeyup = someFunc();
}
Вешать событие из html не хотелось бы. Почему второй вариант не работает?

★★★★

Скобки убери. Ты onkeyup присваиваешь результат выполнения someFunc.

А вообще, man addEventListener - это правильнее.

Kalashnikov ★★★
()
Ответ на: комментарий от Kalashnikov

Спасибо за совет, однако пока не помогло. Вот мое хэллоуворлдопобие:

function checkPws() {
    var length_alert_elem = document.getElementById("pwd_len_alert");
    var pass_elem = document.getElementById("pwd");  
    if (pass_elem.value.length < 6) {
        length_alert_elem.innerHTML = "6 characters minimum";
    } else {
        length_alert_elem.innerHTML = "";
    }
}

window.onload = function() {
    pass_elem.addEventListener("onkeyup", checkPws, false);
}
   

Insomnium ★★★★
() автор топика
Ответ на: комментарий от Insomnium

onload тоже лучше заменить на addEventListener. Бида в названии события, «on» здесь не нужно, просто «keyup». Лучше кстати вешать на change по-моему.

Алсо внутри обработчика this - элемент на который он повешан, var pass_elem = document.getElementById(«pwd»); не нужно.

Kalashnikov ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.