下記状況下で二つ目のdivに設定したaddEventListenerをremoveしたいです
流れとして画像にonerrorを設定し、発生させます
発生したら、画像の親であるdivに設定されたfoo()をremoveEventListenerしたいのですが、
うまくいきません
何か書き方が違うんでしょうか
追記
書き方変えました
onerrorを発生させるために
存在しないURLを記述しました
下記が正しく処理されるのであれば
this.parentElement.removeEventListener('click', foo)で2つ目のdivに設定されているaddEventListenerが削除されるはずだと思うのですが削除されません
エラー内容
Uncaught ReferenceError: foo is not defined
<div class="a">1</div> <div class="a"><img class="i" onerror="alert('error');this.parentElement.removeEventListener('click', foo);" src="https://www.nawpic.com/media/2020/brown-hert-nawpic.jpg"></div> <div class="a">3</div> <script> window.onload=function(){ Array.from(document.querySelectorAll('.a'), l => { l.addEventListener('click', function foo() { alert(""); }); }); } </script>
回答1件
あなたの回答
tips
プレビュー