在一个小部件中,我正在添加一个refresh
方法,我需要在重新应用所有挂钩之前清理所有内容。但是,我不确定this._hoverable(selector);
在同一元素上多次调用的后果是什么。
往里jquery-ui-1.10.js
看,我看到小部件工厂保存了一个元素的 jQuery 对象,它add
使用选择器执行操作。虽然我认为它不会添加重复的 DOM 元素,但它更多的是下一个操作:_on
这让我怀疑。
_hoverable
可以在同一个元素上多次调用吗?
在一个小部件中,我正在添加一个refresh
方法,我需要在重新应用所有挂钩之前清理所有内容。但是,我不确定this._hoverable(selector);
在同一元素上多次调用的后果是什么。
往里jquery-ui-1.10.js
看,我看到小部件工厂保存了一个元素的 jQuery 对象,它add
使用选择器执行操作。虽然我认为它不会添加重复的 DOM 元素,但它更多的是下一个操作:_on
这让我怀疑。
_hoverable
可以在同一个元素上多次调用吗?
不,你不应该那样做。在一个元素上多次调用_hoverable()mouseenter
将在和mouseleave
事件上注册额外的处理程序。
如果您绝对必须多次调用此方法,则必须事先取消绑定这些处理程序:
this._off(element, "mouseenter mouseleave");
this._hoverable(element);
请注意,事件是在引擎盖下命名的,因此对_off()
上面的调用只会取消绑定通过 注册的处理程序_on()
,而不是您可能自己注册的其他处理程序。