如何将单击事件绑定到元素是在单击事件上创建的?
问题描述:
我有这样的脚本:如何将单击事件绑定到元素是在单击事件上创建的?
$(document).ready(function() {
$('.button').click(function() {
var button = document.createElement('button');
$(button).addClass('button');
$(button).html('Button');
$(button).appendTo('.container');
});
});
例子:jsfiddle
按钮被点击按钮创建尚未单击事件。如何附加此事件有可能使用任何按钮创建按钮?
答
您需要delegate the event handler才能使用动态生成的元素。
事件代理允许我们将一个事件监听器附加到父元素,该父元素将触发所有与选择器匹配的后代,无论这些后代是现在存在还是将来都会添加。
您可以使用on()
方法来委托处理程序如下:
$(document).on("click",".button",function() {})
使用委派事件......但如果你想引用当前的事件处理函数,使用'参数.callee'在zvznt处理程序本身中。 – 2014-09-12 11:38:42