特定のクラスの子要素の最初の要素でイベントを動的にバインドする必要がある特別なシナリオがあります。たとえば、私は1つのdivを持っています:
<div></div>
次に、クリックイベントを最初の'.button'子要素にバインドします。
$('div').on('click', '.button:first', function (event) {
alert($(event.target).text());
});
そして、子要素は後で作成されます。
$('div').append(
"<span class='button'>Button1</span>" +
"<span class='button'>Button2</span>");
この場合、Button1をクリックすると、アラートウィンドウがポップアップ表示されます。Button2はしません。それは正しいです...divの上に1つの'.button'要素を配置するまで。
<span class='button'>Outer Button</span>
<div></div>
次に、Button1をクリックしても、アラートウィンドウはトリガーされません。コードはここにあります:http://jsfiddle.net/D2H92/
これが常に機能するとは限らない理由と、それを解決する方法について何か考えはありますか?乾杯!