2014-09-12 34 views
1

我有這樣的腳本:如何將單擊事件綁定到元素是在單擊事件上創建的?

$(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

回答

4

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

事件代理允許我們將一個事件監聽器附加到父元素,該父元素將觸發所有與選擇器匹配的後代,無論這些後代是現在存在還是將來都會添加。

您可以使用on()方法來委託處理程序如下:

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

Updated Fiddle

相關問題