
ajaxを利用して追加したhtmlに対して、既存のscriptのイベントが効かなくて困っています。
どういうことかというと、
まず流れとしては、
(1)【webページをブラウザで表示】
↓
(2)【ajax通信でサーバーサイドでビュー(html)を生成】
↓
(3)【ブラウザにそのビューを返して、それをjavascriptで既存のhtmlに追加】
となっております。
そして、この時、例えば、(1)の時にclass="sample"の要素に対してclickイベントを設定していて、(3)の時に追加された要素にもclass="sample"があったとします。
この時、新たに追加されたclass="sample"の要素に対してclickイベントが発生しないのです。
どなたか、解決策を教えてくれないでしょうか?
宜しくお願い致します。
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が見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WebサイトのHTMLオブジェクトの...
-
VC++のデバッガでvectorの要素...
-
スプレッドシートのチェックボ...
-
デジタル時計の時刻合わせの方...
-
Edge Chrom などの超初心者質問...
-
エクセルのシート上に別のシー...
-
Outlookのエラー表示について
-
マイページはどこを開くの
-
別フォームから戻ったときのイ...
-
ウインドウを毎回同じ位置、大...
-
スクリプトって、何ですか?ど...
-
Excelでワードアートや図を常に...
-
Youtubeのバグ
-
Outlookでこのような表示がされ...
-
エクセルでポップアップを出し...
-
ウィンドウが、前回閉じた位置...
-
ウィンドウの2重起動を防止したい
-
小さな表示窓の呼び方は
-
[Java] Edgeでのアドレスバー非...
-
ワード2003で二つの文書を並べ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
(VBS) テキストファイル読込で...
-
bxSliderで動画をスライドごと...
-
PL/Iについて、教えてください。
-
MFCを使って、ひとつのkey(CStr...
-
【VBA/HTML】特定のタグ要素に...
-
JavaScriptでクリップボードの...
-
WebサイトのHTMLオブジェクトの...
-
VC++のデバッガでvectorの要素...
-
どこまでを動的に、どこまでを...
-
エクセルの散布図で選択してい...
-
【VB.NET】HTML要素を取得しよ...
-
スプレッドシートのチェックボ...
-
jqueryについて(v 1.4.2)
-
[C++] vector<string> の各要素...
-
ajax
-
Ajax.Updaterで読み込んだ先の...
-
AJAXでのinputもしくはoptionな...
-
フォームで入力時自動で次の項...
-
ajaxで追加したdom要素にscript...
-
jqueryでtable内容の置き換え
おすすめ情報