ajaxでhtmlを受け取り、受け取ったhtmlでbody要素内を書き換えたいと考えています。
ajaxでの通信が成功した際の処理は、以下のようにしています。
$.ajax({ ・・・ }).done(function(data, status, jqXHR){ var response = $(jqXHR.responseText); for (var i = 0; i < response.length; i++) { if (response[i].id === 'content') { $('body').html(response[i].outerHTML); return; } } })
この時、body要素内にあるscript要素も書き換えられています。
書き換える前のscript要素では
<script type="text/javascript"> $(window).on('resize', function () { TestMethod(); }); </script>
というように、windowのリサイズイベントの処理を記述しています。
書き換え後のscript要素には、この処理はありません。
htmlの書き換え完了後、ブラウザの幅を変えて、リサイズイベントを発生させると、
書き換え前の処理が走ってしまいます。
なぜ書き換え前の処理が走ってしまうのでしょうか?
書き換え前の処理を走らせないようにするには、どうすればよいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/13 07:00
2016/10/13 07:03
2016/10/13 09:42