2012-07-26 114 views
0

我添加代碼摘錄此鏈接http://jsfiddle.net/rUbD8/1/jQuery的點擊觸發點擊函數內多次

我創建的jsfiddle的結果部分以下3個手風琴滑塊上的姓名您的滑塊: 首頁關於聯繫

當我點擊刪除它按鈕上的主頁滑塊將其寫入的console.log 3次 然後當我點擊刪除它上的關於滑塊它寫入console.log 2次

有人可以告訴我爲什麼它這樣做,以及如何防止它多次發射?

回答

1

這樣做是因爲每次添加新元素時都要連接事件。

要解決,移動click事件處理出來的地方是,通過一個真實的事件處理程序(爲新項目顯示器):

http://jsfiddle.net/rUbD8/3/

jQuery('.slider_holder').on('click', '.deleteMe', function(e) { 
    header = jQuery(e.target).parent().prev(); 
    container = jQuery(e.target).parent(); 

    console.log(e.target); 

    header.fadeOut('slow',function(){ 
     jQuery(this).remove(); 
    }); 
    container.slideUp('normal',function(){ 
     jQuery(this).remove(); 
    }); 
}); 
+0

也很好,謝謝! – 2012-07-26 02:57:58

3

這是因爲每次添加滑塊點擊功能勢必與「DELETEME」類的元素,你可以嘗試

jQuery('.deleteMe').unbind('click').click(function(e){}) ... 

爲速戰速決

+1

完美的作品非常感謝你! – 2012-07-26 02:57:40

+0

非常感謝你! – vacetahanna 2013-06-27 10:44:05