jQuery 对未定义事件使用 off() 时会抛出错误吗?
Will jQuery throw an error when using off() for undefined event?
我正在使用 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');
}
我知道您可以 loop through the events 在数据对象中检查事件是否已经绑定,但有必要吗?我不关心事件是否已经绑定,我只是想确保它在满足 someCriteria
后不会被绑定。
当我在 Firefox 的 js 控制台中 运行 $(window).off('clicked_button');
时,它只是 returns window 对象。那么我可以假设如果事件尚未绑定, off()
函数将不会抛出错误吗?我宁愿只使用 off()
并让它默默地失败,而不是在解除绑定之前必须循环遍历绑定的事件。
我需要这个才能在现代浏览器和 IE 9+ 上工作。
根据 jQuery API 文档,off() 是在 1.7 版中添加的。即使自定义 'clicked_button'
事件从未绑定到元素,$(window).off('clicked_button')
也会静默失败。
同样,调用 $(window).off()
将无错误地删除所有事件处理程序,即使 none 已被绑定。
我正在使用 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');
}
我知道您可以 loop through the events 在数据对象中检查事件是否已经绑定,但有必要吗?我不关心事件是否已经绑定,我只是想确保它在满足 someCriteria
后不会被绑定。
当我在 Firefox 的 js 控制台中 运行 $(window).off('clicked_button');
时,它只是 returns window 对象。那么我可以假设如果事件尚未绑定, off()
函数将不会抛出错误吗?我宁愿只使用 off()
并让它默默地失败,而不是在解除绑定之前必须循环遍历绑定的事件。
我需要这个才能在现代浏览器和 IE 9+ 上工作。
根据 jQuery API 文档,off() 是在 1.7 版中添加的。即使自定义 'clicked_button'
事件从未绑定到元素,$(window).off('clicked_button')
也会静默失败。
同样,调用 $(window).off()
将无错误地删除所有事件处理程序,即使 none 已被绑定。