2010-07-14 75 views
4

我有一個jQuery代碼來設置點擊事件如下: $(「#somediv」)。click(function(){alert('test')});如何刪除點擊事件使用jquery

如何刪除上述點擊事件?看起來.click()方法總是會附加現有的。

回答

8

使用

$('#somediv').unbind('click'); 

如果你只想要刪除的功能,你需要將它的引用:

var test = function() {alert('test');}; 
$("#somediv").click(test); 

window.setTimeout(function() { 
    $('#somediv').unbind('click', test); 
}, 10000); 

http://api.jquery.com/unbind/

+2

您可以通過30秒打我。 – Manfre 2010-07-14 23:24:41

+0

好的..另一個問題,然後..如何刪除懸停?它似乎是解除綁定('懸停')不做工作 – user384080 2010-07-15 00:22:06

+2

haha​​hahha ..對不起,從http://stackoverflow.com/questions/805133/how-do-i-unbind-hover-in-jquery找到答案 – user384080 2010-07-15 00:23:43

0
You can use off() method as well. 

on() will be used to create event and off() will be used to remove event. 

function clickEvent() { 
    $("#somediv2").show().fadeOut("slow"); 
}; 


To **remove** events you can use like this, 

$('#somediv').off("click", "#somediv1", clickEvent); 

To **add** events you can use like this, 

$('#somediv').on("click", "#somediv1", clickEvent); 

http://api.jquery.com/off/ 

http://api.jquery.com/on/