2013-08-07 41 views
0

我在連續按下按鈕時克隆了一行。該行包含被按下的按鈕,因此克隆時在下面添加了新行,這意味着還有另一個按鈕。按鈕狀態爲「添加」,但在按下添加時更改爲「刪除」。我遇到的問題是我想要click()函數檢查按鈕/類的最後一個實例,而不是它仍然檢查原始按鈕。我想要它檢查最後一個按鈕。在同一類的克隆元素上單擊事件

看看的的jsfiddle,看看有什麼我試圖做的事:

http://jsfiddle.net/Fogest/4gdJk/

我的問題是不會改變的按鈕「刪除」的名字,但我想知道應該如何我將這個點擊函數應用到添加的最後一個按鈕上?

編輯:使用jQuery V1.6.1

回答

1

使用.on代替.click這裏是documentation

$(document).on("click", ".add-remove-new:last", function() { 
    $('tr.newService:first').clone().insertAfter($('tr.newService:last')); 
}); 

working demo

,或者您可以使用.live的jQuery 1.6.1

$('.add-remove-new:last').live('click', function() { 
    $('tr.newService:first').clone().insertAfter($('tr.newService:last')); 
}); 

demo for 1.6.1

+0

on函數是否與jquery的v1.6.1兼容? – ComputerLocus

+0

版本添加:1.7,但您可以使用遷移https://github.com/jquery/jquery-migrate/ – David

+0

不使用其他軟件來做到這一點的其他方法? – ComputerLocus

0

這裏是DEMO。我想這是你想要的!

$('body').on('click', '.add-remove-new:last', function() { 
     $('tr.newService:first').clone().insertAfter($('tr.newService:last')); 
    }); 
+0

on函數是否適用於jquery的v1.6.1? – ComputerLocus

+0

沒有。你可以用它來生活。 – deepakb

0

This thread似乎處理同樣的問題,使用on()delegate()功能解決它。