我创建了一个 jQuery 插件,它需要响应浏览器窗口的大小调整。它使用 jQuery 的事件命名空间机制订阅事件:
var $window = $(window);
$window.on("resize.myPlugin", function(e) {
// my resize code
});
所以当插件被销毁时,我可以优雅地取消订阅而不会影响其他插件:
$window.off("resize.myPlugin");
但是,在这种情况下,如果我同时拥有同一个插件的多个实例会怎样?像上面那样调用 off
也会取消订阅它们的事件处理程序,因为它们使用相同的命名空间。
如何在不中断同一插件的其他实例的情况下取消订阅事件?
最佳答案
如果您希望同一个插件的其他实例共存,您可以为事件添加一个随机命名空间作为前缀,从而避免断开所有这些实例。
编辑:从手机发帖,我花时间写了。 :)
关于javascript - 如何在不中断同一插件的其他实例的情况下取消订阅事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16342670/