2013-03-05 89 views
-1

我有一些代碼,連接到一類的Click事件:Click事件不會持續新動態創建的元素

$(".filter-link").click(function (e) { 
    $("#filter").dialog("option", "position", 
        { my: "left top", at: "left bottom", of: e }); 
    $("#filter").dialog("open"); 
}); 

我使用它的元素被動態地重新常:

function addTopLinks() { 
    $('#calendar .fc-view thead th.fc-resourceName') 
     .removeClass('top-calendar-cell'); 
    $('#calendar .fc-view thead th.fc-resourceName') 
     .addClass('top-calendar-cell'); 
    $('#calendar .fc-view thead th.fc-resourceName') 
     .html('<a class="filter-link" href="#">Filter Resources</a>'); 
}; 

有沒有什麼辦法可以讓點擊持續或我會被迫重新分配點擊每次我重新創建元素?

感謝

+1

它的很多問題重複!答案是正確使用'.on()'會起作用。不需要再寫一遍 – Popnoodles 2013-03-05 20:18:34

+2

@點他們刪除.live ...這是一箇舊的答案。我發佈的問題是最近的,.on已經取代了.live和其他。 – 2013-03-05 20:25:13

+0

好的 - 希望別人會找到更好的;那裏肯定有成千上萬個這樣的問題:-) – Pointy 2013-03-05 20:26:30

回答

2

使用.on()

$(document).on("click", ".filter-link", function (e) { 
    $("#filter").dialog("option", "position", 
      { my: "left top", at: "left bottom", of: e }); 
    $("#filter").dialog("open"); 
}); 
+1

再次請不要回答重複的問題-_- – 2013-03-05 20:24:43

相關問題