2017-02-15 13 views
0

У меня есть прослушиватель событий объекта, который запускает функцию при изменении объекта.Do Javascript Слушатели событий уничтожаются после обстрела (по умолчанию)?

Это код:

window.parent.document.getElementById('campval').addEventListener("change", getscriptbuttons1()); 

Это отлично работает в первый раз, что объект изменяется, однако, все последовательные изменения не вызывают слушателя событий.

Это обычное поведение Javascript? Что я могу сделать, чтобы исправить эту проблему?

ответ

2

Нет, прослушиватель событий должен срабатывать каждый раз.

Я думаю, что эта ошибка происходит из-за, потому что вы вызываете функцию вместо того, чтобы передать его в качестве параметра:

getscriptbuttons1 // passes the function 
getscriptbuttons1() // calls the function and passes whatever it returns 

вы имели в виду? :

window.parent.document.getElementById('campval').addEventListener("change", getscriptbuttons1); 
1

Нет, они не разрушаются. Вы должны удалить их вручную. Проблема в том, что вы на самом деле вызываете функцию в прослушивателе событий. Вам необходимо изменить его на это: (нет парнеров, не называйте это)

window.parent.document.getElementById('campval').addEventListener("change", getscriptbuttons1); 

 Смежные вопросы

  • Нет связанных вопросов^_^