2017-02-15 4 views
0

オブジェクトにイベントリスナーがあり、オブジェクトが変更されたときに関数を起動します。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); 
関連する問題