如何将单击事件绑定到元素是在单击事件上创建的?

问题描述:

我有这样的脚本:如何将单击事件绑定到元素是在单击事件上创建的?

$(document).ready(function() { 
    $('.button').click(function() { 
     var button = document.createElement('button'); 
     $(button).addClass('button'); 
     $(button).html('Button'); 
     $(button).appendTo('.container'); 
    }); 
}); 

例子:jsfiddle

按钮被点击按钮创建尚未单击事件。如何附加此事件有可能使用任何按钮创建按钮?

+0

使用委派事件......但如果你想引用当前的事件处理函数,使用'参数.callee'在zvznt处理程序本身中。 – 2014-09-12 11:38:42

您需要delegate the event handler才能使用动态生成的元素。

事件代理允许我们将一个事件监听器附加到父元素,该父元素将触发所有与选择器匹配的后代,无论这些后代是现在存在还是将来都会添加。

您可以使用on()方法来委托处理程序如下:

$(document).on("click",".button",function() {}) 

Updated Fiddle