Вопрос по addeventlistener, html, javascript – прослушиватель событий в javascript не запускается, за исключением случаев, когда страница загружается

4

Я пытаюсь это:

//this represents all of the select tags on the page
var select = document.getElementsByTagName("select");

//Listener for when the option changes
select.addEventListener("change", hi(), false);

function hi() {
  alert("hi");
}

но слушатель событий, похоже, не работает, в jsfiddle он работает, когда страница загружается, а не когда я меняю опцию ...

Слушатели сработали бы хорошо, если бы вы просто прикрепили их куда-то еще, кромеHTMLCollectionчто и возвращаетсяgetElementsByTagName(), Обратите внимание также на Джонникардиответ. Teemu

Ваш Ответ

1   ответ
5

select.addEventListener("change", hi, false);

Вы'повторного вызова функции и присоединения ее результата вместо присоединения самой функции.

Редактировать: Кроме того, как указывает Теему, выпытаемся прикрепить к коллекции вместо отдельного человекаselect вещь. Пытатьсяvar select = document.getElementsByTagName("select")[0]; - или еще лучше, используйте.getElementById

Похожие вопросы