使用on()您可以将事件附加到动态元素。您绑定到最近的静态元素(或文档),将实际预期的目标元素指定为辅助参数。
$("document").off("click", ".super-button").on("click", ".super-button", function(){
/// Do some awesome functionality
});
从理论上讲,您不需要off()
,因为您的代码应设计为仅执行连线代码。
您使用on()
for 委托的版本执行事件的附加,然后与指定选择器匹配的任何未来元素都将按预期附加事件。
演示- 将事件附加到动态添加的元素
演示具有以下 HTML:
<button id="addElement" type="button">Add a dynamic element</button>
<div id="container">
<div class="someElement">Some Element - click me<div>
</div>
和脚本:
$("#container").on("click", ".someElement", function(){
alert("I have been clicked");
});
$("#addElement").on("click", function() {
$('<div class="someElement">Another Element - click me too<div>').appendTo($("#container"));
});