質問編集履歴

3

追記

2021/11/11 14:53

投稿

noritamat
noritamat

スコア12

test CHANGED
File without changes
test CHANGED
@@ -25,6 +25,12 @@
25
25
  下記が正しく処理されるのであれば
26
26
 
27
27
  this.parentElement.removeEventListener('click', foo)で2つ目のdivに設定されているaddEventListenerが削除されるはずだと思うのですが削除されません
28
+
29
+
30
+
31
+ エラー内容
32
+
33
+ Uncaught ReferenceError: foo is not defined
28
34
 
29
35
 
30
36
 

2

追記

2021/11/11 14:53

投稿

noritamat
noritamat

スコア12

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,14 @@
19
19
  onerrorを発生させるために
20
20
 
21
21
  存在しないURLを記述しました
22
+
23
+
24
+
25
+ 下記が正しく処理されるのであれば
26
+
27
+ this.parentElement.removeEventListener('click', foo)で2つ目のdivに設定されているaddEventListenerが削除されるはずだと思うのですが削除されません
28
+
29
+
22
30
 
23
31
  ```ここに言語を入力
24
32
 

1

追記

2021/11/11 14:46

投稿

noritamat
noritamat

スコア12

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,23 @@
12
12
 
13
13
 
14
14
 
15
+ 追記
16
+
17
+ 書き方変えました
18
+
19
+ onerrorを発生させるために
20
+
21
+ 存在しないURLを記述しました
22
+
15
23
  ```ここに言語を入力
24
+
25
+ <div class="a">1</div>
26
+
27
+ <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>
28
+
29
+ <div class="a">3</div>
30
+
31
+
16
32
 
17
33
  <script>
18
34
 
@@ -28,26 +44,10 @@
28
44
 
29
45
  });
30
46
 
31
- Array.from(document.querySelectorAll('.i'), l => {
32
-
33
- l.addEventListener('error', function() {
34
-
35
- this.parentElement.removeEventListener('click', foo);
36
-
37
- });
38
-
39
- });
40
-
41
47
  }
42
48
 
43
49
  </script>
44
50
 
45
- <div class="a">1</div>
46
-
47
- <div class="a"><img class="i" src="https://aaaa.com/aaaaa.jpg"></div>
48
-
49
- <div class="a">3</div>
50
-
51
51
 
52
52
 
53
53
  ```