2011-04-26 87 views
1
$(".guide").focus(function(){ 
    $(this).removeClass("guide").val(""); 
}); 

我只需要知道是否還有其他事情需要我去釋放事件處理程序,或者是否正常。釋放JavaScript事件處理程序

+0

可以用'.blur()'事件補充它嗎? – 2011-04-26 05:48:27

回答

1

您還可以使用jQuery.fn.one對被稱爲一次,然後一個事件處理程序自動分離。

$(".guide").one("focus", function(){ 
    $(this).removeClass("guide").val(""); 
}); 
+0

哇,我不知道'one()'處理程序。涼! – mattsven 2011-04-26 06:09:51

1

不太清楚你的意思是「自由事件處理程序」,但我會想..

刪除,如果您使用的是.delegate 處理程序類只會工作。在你明確將處理程序附加到元素的情況下,你需要.unbind元素的處理程序。

如果你有許多的形式帶班導的元素,那麼你將是最好的使用代表如下

$('.guide').delegate('form', 'focus', function(){ 
    $(this).removeClass("guide").val(""); 
}); 
+0

對不起,我弄明白了 - '$(this).removeClass(「guide」)。unbind(「focus」)。val(「」);' – mattsven 2011-04-26 05:55:00

+0

@NeXXeuS是的,就是我說的! – redsquare 2011-04-26 05:55:30