jquery关闭不解除绑定

时间:2013-12-19 09:38:16

标签: javascript ember.js jquery

我正在编写一个通用控件(使用ember.js),它需要捕获所有点击。根据用户点击的位置,我需要执行自定义逻辑。 (例如,单击外部,将隐藏元素。单击输入将显示下拉列表。)

不幸的是,关闭控件时我无法正确解除绑定事件。上面的逻辑仍将运行,尽管unbind / off代码已经运行。 (其他一切都很好)

我正在注册这样的活动:

$('body').on('click.autocomplete' + this.elementId, function (e) {
..
});

并将其取消注册:

$('body').off('click.autocomplete' + this.elementId);

如何正确解开事件?

更新 我能够更精确地确定问题。关闭视图时,事件在调用off()之前再次触发,但仍然在之后运行。

解决方法修复如下:

$('body').on('click.autocomplete' + this.elementId, function (e) {
   if (!self.elementId)
         return;
});

在调用时清除特定事件队列会很高兴,但是..

0 个答案:

没有答案