我有一个插件
$.fn.mycoolplugin
它绑定mousemove
到文档,例如
$(document).("mousemove", function() {
//bunch of stuff
});
在选择器上调用函数之后
$('.myclass').mycoolplugin();
我将如何解除绑定,因为我的代码使用和mousemove
绑定到文档和其他内容?mouseenter
mouseleave
您可以通过调用取消绑定任何处理程序.unbind
:
$(document).unbind("mousemove");
这mousemove
将从document
. 请注意,这样做可能会破坏插件的功能(有破坏将mousemove
处理程序添加到的任何其他代码/插件的风险document
)。
您将更改插件绑定的方式,然后释放它的附加处理程序,如下所示:
绑定到事件时,不要使用匿名函数。相反,为事件定义一个特定的处理程序。这样,当您附加时,您会这样做:
$(document).bind('mousemove', myFuncDelegate);
然后,当您需要将其从范围中删除时,您可以解除绑定:
$(document).unbind('mousemove', myFuncDelegate);
这样,您只能取消附加您的事件。有关详细信息,请参阅http://api.jquery.com/unbind/。
只需在加载时调用绑定方法,当您决定卸载它时,调用 unbind 方法。