Не могу передать event в функцию-обработчик
function d(event) { alert(typeof(event)); } var h = document.getElementById('h'); h.onkeypress = d(event); alert() вылетает с типом "undefined". Почему объект события не передаётся? |
<input id=h> <script>function d(event) {alert(typeof(event)); }; var h = document.getElementById('h'); h.onkeypress = d; </script> |
Оказывается, дело было в том, что я подгружал js раньше момента, где определял input. Когда поменял местами, всё стало хорошо:
<input id = "h" type = "text"> <script src = "popup.js"></script> Странно, разве иначе работать не должно? Всегда что ли нужно подгружать js после html? |
Цитата:
|
у Вас и h.onkeypress = d(event);
тоже неправильно присваивалась-должна быть функция ------ если подгружаете раньше то нужно так function d(event) {alert(typeof(event)); }; window.onload=function(){var h = document.getElementById('h'); h.onkeypress = d; } |
Можете подсказать подробнее, в чём разница между d, d() И d(event) при присваивании событию?
|
Цитата:
d() - стразу же вызывает функцию d(event) - стразу же вызывает функцию и передает аргумент event |
Спасибо) Кармой сейчас не смог выразить.
|
Часовой пояс GMT +3, время: 16:11. |