質問編集履歴
1
表記の修正、解決方法の追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Ajaxで書き加えられた
|
1
|
+
Ajaxで書き加えられたイベントを無効にしたい
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
### Ajaxで書き加えられた
|
1
|
+
### Ajaxで書き加えられたイベントを無効にしたい
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -102,6 +102,84 @@
|
|
102
102
|
|
103
103
|
|
104
104
|
|
105
|
-
一度追記した
|
105
|
+
一度追記したイベントを完全に削除するにはどうすればよいのでしょうか?
|
106
106
|
|
107
107
|
どなたかご教授いただければ幸いです。
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
### 解決しました
|
112
|
+
|
113
|
+
追加されたイベントハンドラにnamespaceを設定し
|
114
|
+
|
115
|
+
該当のイベントハンドラのみを削除することで目的を達成できました。
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
index.html
|
120
|
+
|
121
|
+
```html
|
122
|
+
|
123
|
+
<div id="foo">hogehoge</div>
|
124
|
+
|
125
|
+
<button type="button" id="bar">ajax</button>
|
126
|
+
|
127
|
+
<button type="button" id="baz">empty</button>
|
128
|
+
|
129
|
+
<script>
|
130
|
+
|
131
|
+
$(function() {
|
132
|
+
|
133
|
+
$('#bar').on('click', function() {
|
134
|
+
|
135
|
+
$.get("./ajax.html", function(data) {
|
136
|
+
|
137
|
+
$("#foo").html(data);
|
138
|
+
|
139
|
+
});
|
140
|
+
|
141
|
+
return false;
|
142
|
+
|
143
|
+
});
|
144
|
+
|
145
|
+
$('#baz').on('click',function() {
|
146
|
+
|
147
|
+
$('#foo').empty();
|
148
|
+
|
149
|
+
$("#baz").off('click.piyo');
|
150
|
+
|
151
|
+
return false;
|
152
|
+
|
153
|
+
});
|
154
|
+
|
155
|
+
});
|
156
|
+
|
157
|
+
</script>
|
158
|
+
|
159
|
+
```
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
ajax.html
|
164
|
+
|
165
|
+
```html
|
166
|
+
|
167
|
+
fugafuga
|
168
|
+
|
169
|
+
<script>
|
170
|
+
|
171
|
+
$(function() {
|
172
|
+
|
173
|
+
$('#baz').on('click.piyo',function() {
|
174
|
+
|
175
|
+
alert('OK');
|
176
|
+
|
177
|
+
return false;
|
178
|
+
|
179
|
+
});
|
180
|
+
|
181
|
+
});
|
182
|
+
|
183
|
+
</script>
|
184
|
+
|
185
|
+
```
|