ドキュメントに追加されたすべてのイベントリスナーを削除する必要があります。
THIS POSTによれば、私はこのような機能を構築しましたが、TypeError: document.parentNode is null
を表示しています!イベント名を使用しないjavascriptのドキュメントのすべてのイベントリスナーを削除します。
var msg = document.getElementById('state-msg');
var button = document.getElementById('removeListener');
document.addEventListener('keydown', function(e) {
msg.textContent = 'keydown:' + e.keyCode;
});
document.addEventListener('keyup', function(e) {
msg.textContent = 'keyup:' + e.keyCode;
});
document.addEventListener('keypress', function(e) {
msg.textContent += 'keypress:' + e.keyCode;
});
button.addEventListener('click', function(e) {
var elClone = document.cloneNode(true);
document.parentNode.replaceChild(elClone, document);
});
Press any key and get the message here: <span id="state-msg"></span>
<button id = "removeListener">RemoveListener</button>
これは、まだ成功に非常に基本的な質問になることはありませができますが、コメントの任意の種類が大幅に感謝されます。
UPDATE:
私もdocument = elNode
を試してみましたが、動作していません。
'document'は親ノードを持っていません –
' getEventListeners(document); 'のようなものを使用しているのかもしれません。これをブラウザのコンソールにコピー/ペーストしてください。 'var listener = getEventListeners(document); for(evt in listener){console.log( 'イベントタイプ:' + evt); console.log(リスナー[evt]);} 'それがあなたのために使われるかどうかは分かりません。イベントリスナーは削除されませんが、使用中のリスナーがリストされているので、そこから削除できますか? – NewToJS
@artgb ah、右。さて、それは私のためにGoogle Chromeを使用してそれらを記載していますが、実際にはそれほど多くの使用にそれを提示していない暗闇の中での提案を提供しています。 – NewToJS