我的js代码中有以下内容......
a.off('mouseover').on('mouseover', function() {
overlayTrigger(this);
});
a.off('click').on('click', function() {
overlayTrigger(this, true);
});
然后在鼠标点击期间,我将其删除:
$(obj).off('mouseover');
$(obj).off('mouseout');
但我希望下一次鼠标点击,如果这些句柄关闭,我想重新启用它们......但是,我不知道如何检查'鼠标悬停'是否关闭......
通过谷歌挖掘是有点困难的,因为关键词“on”和“off”以及“mouseover”不是找到我想要的方法...>。<
任何帮助/提示都将不胜感激。 :)
答案 0 :(得分:1)
您可以使用jQuery.data获取绑定到对象的事件列表。
如果您使用的是jQuery 1.8或更高版本,则需要使用以下内容:
$._data(elem, 'events');
elem
应该是HTMLElement, NOT 是jQuery对象或选择器。如果您已有jQuery对象,则可以将elem
替换为elem.get(0)
。
jQuery版本低于1.8:
$(elem).data('events');
这将返回包含事件的对象。然后,您可以检查它们是否未定义。
注意:请记住,如果元素上没有事件处理程序,则数据将以 undefined 的形式返回。
答案 1 :(得分:0)
重新启用它们时,你可以这样做
$(obj).off('mouseover').on('mouseover',function(){...});