3

是否可以在元素上触发 hoverIntent。

我试过$(elem).trigger('hoverIntent');了,没有用。

编辑:Js 小提琴:http: //jsfiddle.net/H2p6T/

4

3 回答 3

5

除非真正触发了 hoverIntent,否则简单地触发任何事件类型都无济于事。

我查看了 hoverIntent 源,它需要两件事:mouseenter 和 mousemove 并定义了指针坐标。所以我用假坐标触发了事件:

$('.foo').trigger({ type:"mouseenter", pageX:"123", pageY:"123" });
$('.foo').trigger({ type:"mousemove", pageX:"123", pageY:"123" });

只要它们彼此足够接近以触发hoverIntent,坐标就无关紧要。

我为此使用了 r7 版本。

于 2014-01-30T15:30:16.333 回答
3

你有没有尝试过

$(elem).trigger('hover');

或者

$(elem).trigger('mouseover');
$(elem).trigger('mouseout');

或者

$(elem).trigger('mouseenter');
$(elem).trigger('mouseleave');

hoverIntent 是一个插件而不是实际事件,所以我相信您必须触发一个 hoverIntent 实际绑定到您的元素的事件

这是一个使用 mouseenter/mouseleave 的示例

http://jsfiddle.net/H2p6T/3/

于 2012-08-07T05:36:41.427 回答
1

你能这样吗?

$(elem).hoverIntent();

好吧,那没用……

我玩过它:http: //jsfiddle.net/8CCTM/11/

hoverIntent 将在 mouseenter() 上触发,但只有在鼠标激活 hoverIntent 元素后才会触发。

于 2012-08-07T05:30:56.230 回答