2

ページにCSSclass= "hello"のDivがいくつかあります。さらに、Ajaxを使用してCSS class ="hello"のDivをさらにいくつかフェッチします。DivのClickイベントで呼び出されるコードがあります。次のとおりです。

$('.hello').click(function(){
  alert("Hello Clicked");
})

最初から私のページに存在するDivで正常に機能しますが、Ajaxを使用してロードされたDivでは機能しません。この小さなコードを新しくロードされたDivとバインドするために必要なことはありますか?

4

1 に答える 1

8

を使用.onして、バインディングの実行中にすでに存在する別の要素(たとえば、、、<body>または)にハンドラーをバインドしdocument、子イベントを検出させる必要があります。ただし、理想的には、ロードされたコンテンツの最も近い共通の親にバインドする必要があります。

デモ

//bind to the body a "click" handler for elements that have class names of "hello"
$('body').on('click','.hello',function(){
  alert("Hello Clicked");
})
于 2012-04-12T01:16:45.143 に答える