我有这个:
function test()
{
this.method = function ()
{
$("html").mousemove(function(event) {
console.log('~> moved');
});
}
this.method();
}
testInstance = new test();
testInstance = null; // delete window.testInstace;
虽然我已通过将testInstance
设置为null(我也尝试将其作为window
的属性删除)删除了对该对象的引用,但mousemove事件处理程序继续运行并写入安慰。如果删除建立事件处理程序的对象没有删除它,那么我该怎么做才能删除事件处理程序?
答案 0 :(得分:14)
如果您使用的是jquery 1.7
$('html').off('mousemove');
否则
$('html').unbind('mousemove');
答案 1 :(得分:3)
销毁对象不会对您添加的事件处理程序产生任何影响。要删除事件处理程序,您需要unbind事件。