Не могу передать 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, время: 09:30. |