从jQuery中的Element解除绑定侦听器/处理程序

时间:2015-08-13 10:24:15

标签: javascript jquery

我正在使用jsonSuggest jQuery插件在网站上的文本框中显示自动填充数据。

要打开它,我打电话:

$('input#editbox').jsonSuggest({url: someurl, onSelect:callbackFunc});

然而,一旦打开它,我无法停用自动建议。特别是,当我为具有不同参数的同一编辑框再次调用时,会出现2个自动完成框。因此,我想在使用新参数再次打开之前将其关闭。

代码只有大约300行,可在此处获取

https://github.com/cootetom/jQuery-JSON-Suggest-Search-Box/blob/master/jquery.jsonSuggest-2.js

我使用调试器运行它,但无法找到附加侦听器的位置或者" bind"是。不可否认,我不是100%熟练使用jQuery。

提前致谢

PS:这可能是解决方案的一部分吗?

调用

$('input#editbox').off("keyup");
$('input#editbox').off("keydown");

之前打电话

$('input#editbox').jsonSuggest(...)

再次?

1 个答案:

答案 0 :(得分:0)

https://github.com/cootetom/jQuery-JSON-Suggest-Search-Box/blob/master/jquery.jsonSuggest-2.js#L317

这就是所有绑定发生的地方。所以你需要使用像.off

这样的$('input#editbox').off('keyup');取消绑定keyup,keydown,模糊和聚焦事件