回答編集履歴

1

jsbinで検証

2017/09/16 00:39

投稿

m0a
m0a

スコア708

test CHANGED
@@ -12,7 +12,15 @@
12
12
 
13
13
  // ...
14
14
 
15
+
16
+
17
+ var funcList = []
18
+
19
+
20
+
15
- document.querySelectorAll('a').forEach(function(value) {
21
+ document.querySelectorAll('a').forEach(function(el) {
22
+
23
+
16
24
 
17
25
  var clickFunc = function(event) {
18
26
 
@@ -26,21 +34,35 @@
26
34
 
27
35
  img.alt = this.textContent;
28
36
 
37
+ };
29
38
 
39
+
30
40
 
31
- // event解除処理
41
+
32
42
 
33
- value.removeEventListener('click',clickFunc);
43
+ el.addEventListener('click', clickFunc, false);
34
44
 
35
- }
45
+ funcList.push({
36
46
 
47
+ clickFunc:clickFunc,
37
48
 
49
+ el:el
38
50
 
39
- value.addEventListener('click', clickFunc , false);
51
+ })
40
52
 
41
53
  });
42
54
 
43
55
 
56
+
57
+ document.querySelector('button').onclick = function () {
58
+
59
+ funcList.forEach(function(pair){
60
+
61
+ pair.el.removeEventListener('click',pair.clickFunc,false);
62
+
63
+ });
64
+
65
+ }
44
66
 
45
67
  })();
46
68
 
@@ -50,4 +72,4 @@
50
72
 
51
73
 
52
74
 
53
- どうでしょうか? (コードの動作は未検証ですので動くかどうかはわかりません)
75
+ で動作するようです