通过悬停不同的元素来模拟/模拟悬停在另一个元素上 - jquery?

时间:2012-12-13 15:14:40

标签: jquery

我正在尝试使用jquery模拟悬停但是在另一个元素上。

基本上我的幻灯片放在下面......

<div id="slideshow">

...

</div>

我有这些设置......

var slider = $('#slideshow').bxSlider({
    autoHover: true 
})

这些设置只会在<div id="slideshow">悬停时暂停幻灯片放映。你推出时幻灯片开始播放。


我的问题是,无论如何都要在<div id="slideshow">上模拟悬停操作,而是在下面这个元素悬停/进出时?

<div id="slideshow-custom-nav">

... // When this element is hovered in/out, I need it to pause/continue the slideshow. So by simulating a hover on the #slideshow div, this should work hopefully.

</div>


任何建议都会非常棒!感谢

1 个答案:

答案 0 :(得分:0)

理论上,是的。您必须使用jQuery的.trigger()方法手动触发悬停事件。

我自己没有使用bxSlider,但我相信您必须找到插件是否触发自定义事件,以便在调用.trigger()

时指定该事件

<强>更新

好的,在快速查看GitHub上的bxSlider代码后,我发现它在整个插件代码中使用了普通事件。正如您在line 770所看到的,该插件正在为mouseenter元素(line 90定义mouseleaveel事件的处理程序定义)。

所以,作为一个有根据的猜测,你可能会尝试在你认为合适的地方自己触发这些事件。类似的东西:

$('#slideshow-custom-nav').on('mouseenter', function(){
    $('#slideshow').trigger('mouseenter');
}).on('mouseleave', function(){
    $('#slideshow').trigger('mouseleave');
});