我有一个特殊的场景需要在具有特定类的第一个子元素上动态绑定事件。例如我有一个 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 顶部放置一个“.button”元素。
<span class='button'>Outer Button</span>
<div></div>
然后单击 Button1 将永远不会触发警报窗口。代码在这里:http: //jsfiddle.net/D2H92/
知道为什么这并不总是有效,以及如何解决它?干杯!