【发布时间】:2013-03-19 05:03:17
【问题描述】:
我有一个特殊的场景需要在具有特定类的第一个子元素上动态绑定事件。例如我有一个 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 不会。没错,...直到我将一个“.button”元素放在 div 上。
<span class='button'>Outer Button</span>
<div></div>
然后单击 Button1 将永远不会触发警报窗口。 代码在这里:http://jsfiddle.net/D2H92/
知道为什么这并不总是有效,以及如何解决它?干杯!
【问题讨论】:
标签: jquery event-handling