释放javascript事件处理程序

时间:2011-04-26 05:45:32

标签: javascript jquery javascript-events

$(".guide").focus(function(){
   $(this).removeClass("guide").val("");
});

我只需要知道我是否还需要做一些事情来释放事件处理程序,或者它没问题。

2 个答案:

答案 0 :(得分:1)

不完全确定“释放事件处理程序”是什么意思,但我猜...

只有在使用.delegate时才能删除课程  处理程序。在您明确将处理程序附加到元素的情况下,您需要.unbind元素中的处理程序。

如果您在表单中有许多带有指南类的元素,那么您最好使用委托,如下所示

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

答案 1 :(得分:1)

您还可以使用jQuery.fn.one作为一次调用的事件处理程序,然后自动分离。

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