質問編集履歴

1

表記の修正、解決方法の追記

2019/09/27 07:49

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Ajaxで書き加えられたJavaScript完全削除したい
1
+ Ajaxで書き加えられたイベント無効にしたい
test CHANGED
@@ -1,4 +1,4 @@
1
- ### Ajaxで書き加えられたJavaScript完全削除したい
1
+ ### Ajaxで書き加えられたイベント無効にしたい
2
2
 
3
3
 
4
4
 
@@ -102,6 +102,84 @@
102
102
 
103
103
 
104
104
 
105
- 一度追記したJavaScriptを完全に削除するにはどうすればよいのでしょうか?
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
+ ```