尝试解除绑定$.proxy中的原型事件处理程序
Attempts to unbind event handler that is in $.proxy and is a prototype
在对象的原型中,我有
obj.prototype.function1 = function(){
$(window).on("scroll",$.proxy(this.trigger,this));
}
在另一个原型中,我有
obj.prototype.function2 = function(){
$(window).off("scroll",this.trigger);
}
但是CCD_ 1并没有解除对CCD_ 2的绑定。
因此,我尝试在function1
:中将$.proxy(this.trigger,this)
作为obj
的属性
this.triggery = $.proxy(this.trigger,this);
并在function2
:中将其关闭
$(window).off("scroll",this.triggery);
但它仍然不能被.off
所取代;
我应该如何解除像这样的事件处理程序的绑定?
附言:我试过使用传统的.bind
和.unbind
,但都没有用
问题已解决。装订没有任何问题;解除绑定。问题出在我的设计模式上。我不小心在$(window).off("scroll",this.trigger);
1之后再次调用了.on
(我是在console.logging之后才发现的)。再次感谢Bergi让我知道第二个实际上是解除绑定的正确方法!
this.triggery = $.proxy(this.trigger,this);
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- dropdown.js中的复杂事件处理
- 在循环中附加事件处理程序时出现浏览器性能问题
- 在同一个javascript事件处理程序中调用不同的函数
- 复选框,然后单击事件处理
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 检查事件处理程序参数
- 实现延迟的jquery更改事件处理程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 匿名事件处理程序无权访问原型方法
- 原型方法中的事件处理程序函数,为什么它认为.keyCode是JavaScript中未定义的属性
- 尝试解除绑定$.proxy中的原型事件处理程序
- 如何在 JavaScript 中将事件处理程序添加到对象的原型中
- 保存& # 39;这个# 39;javascript原型事件处理程序中的引用
- 重写用于事件处理的父原型方法
- 在事件处理程序中获取原型
- 如何访问类原型Javascript中定义的事件处理程序中的类成员变量