• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ajaxで追加したdom要素にscriptをあてる)

ajaxでDOM要素にscriptを適用する方法

このQ&Aのポイント
  • ajaxを使用して追加したHTMLに既存のscriptのイベントが効かない問題について
  • 既存のHTMLに追加された要素に対してもイベントが発生しない問題について
  • ajaxを使って追加したDOM要素にイベントを適用する方法について

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

方法1 (3)のあとにaddEventListenerする 方法2 jQueryを使ってonでイベントを追加する

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

方法3  clickイベントは伝播するので、個々のclass="sample"要素に設定せずに、上位要素(documentなど)でイベントを監視し、発生元がclass="sample"の要素であったら処理をするようなイベント処理にする。 (ANo1様の方法2とほぼ同じ効果になります) <極簡単なサンプル> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> /*@cc_on@*/ document./*@if(1)attachEvent("on"+@else@*/addEventListener(/*@end@*/"click", function(evt){ var t = evt./*@if(1)srcElement@else@*/target/*@end@*/; if(t.className === "sample"){ //必要な処理。例えば… alert("イベント発生"); } }, false); </script> </head> <body> <p class="sample">元からある対象要素</p> <p>ここは関係ない</p> <div>例えばここにあとから追加する</div> </body> </html>

関連するQ&A

専門家に質問してみよう