2

おそらく平手打ちの解決策ですが、次のとおりです。

<div id="foo">
   <!-- this will all be replaced periodically via AJAX -->
   <p id="bar_1">click me</p>
   <p id="bar_2">click me</p>
   <p id="bar_3">click me</p>
   <!-- end AJAXed section -->
</div>

$('#foo').on(click,'p',function(){
   alert($(this).attr('id'));
   //returns "foo"
});

pアラート「foo」をクリックします。クリックされたのIDである「 bar_n」を返すにはどうすればよいpですか? 信頼性が高く、AJAX 経由で置き換えられないため

、outer をターゲットにしています。div.on() メソッド内で、内部をターゲット (サブターゲット?) にしpています。これは、実際にクリック ハンドラーをバインドする必要があるためです。すべての p は定期的に交換され、バインディングが失われるため、単純に とは言えません$('p').on(click...)。できますか?

4

2 に答える 2

3

ここに引用を追加する必要がありますclick -'click'そして、すべてがうまくいくでしょう.fiddleは@Arunによってすでに提出されています.

これを試して -

$('#foo').on('click','p',function(){
   alert($(this).attr('id'));
   //returns "foo"
});
于 2013-08-08T04:13:35.567 に答える