我正在使用jQuery UI Widget Factory来构建一个jQuery插件。
我的插件将自定义事件绑定到窗口...
_subscribe: function() {
$(window).on("dragger.started", function() { ... });
}
我想知道在插件的特定实例被销毁时如何去除这些事件。如果我用......
destroy: function() {
$(window).off("dragger.started");
}
...然后这会弄乱页面上插件的任何其他实例,因为它会删除所有“dragger.started”事件。
建议只销毁与插件实例相关的事件的方法是什么?
先谢谢你的帮助。
答案 0 :(得分:2)
您可以在事件中绑定多个名称空间。因此,为您的实例分配一个像
的ID//this.id = 'dragger_' + guid_or_static_count
$(window).on("dragger.started." + this.id, function() { ... });
以后
$(window).off('dragger.' + this.id);
请参阅此fiddle
答案 1 :(得分:0)
你用什么来摆脱这个实例?我相信jQuery remove()会删除绑定事件。