当对未定义的事件使用off()时,jQuery会抛出错误吗



我使用的是jQuery 1.10.2,但如果最现代的版本不一样,我也想知道它的解决方案。

我有一个JavaScript文件,它将添加和删除一些自定义事件。

$(window).on('clicked_button', function(event) {
    // Do stuff
});
if (someCriteria) {
    $(window).off('clicked_button');
}
if (otherCriteria) {
    $(window).trigger('clicked_button');
}

我知道您可以遍历数据对象中的事件来检查事件是否已经绑定,但这是必要的吗?我不在乎事件是否已经绑定,我只想确保在满足someCriteria之后不会绑定它。

当我在Firefox的js控制台中运行$(window).off('clicked_button');时,它只返回窗口对象。如果事件还没有绑定,那么我可以假设off()函数不会抛出错误吗?我宁愿只使用off(),让它安静地失败,而不是在解除绑定之前必须循环通过绑定的事件

我需要这个来为现代浏览器和IE 9+工作。

根据jQuery API文档,在1.7版本中添加了off()。即使自定义'clicked_button'事件从未绑定到元素,$(window).off('clicked_button')也将静默失败。

类似地,调用$(window).off()将删除所有事件处理程序而不会出错,即使没有绑定任何事件处理程序。

相关内容

  • 没有找到相关文章

最新更新