当您将鼠标悬停在一个 <div>
上时,我想要一个 <a>
在页面的单独部分上也被“悬停”。
<div class="initiator">
</div>
<div>
<a class="receiver href="#">Touch the div and I get hovered!</a>
</div>
我试过这个 jQuery,但它没有触发 <a>
的悬停 CSS。
$(".initiator").hover(function(){
$(".receiver").hover();
console.log("div was hovered");
});
最佳答案
试试这个:
$('.initiator').on('mouseenter mouseleave', function(e) {
$('.receiver').trigger(e.type);
})
它将为接收者应用与发起者为 mouseenter 和 mouseleave 接收的相同的触发器。请注意:
.hover(over, out)
只是以下内容的高级变体:
.on('mouseenter', over).on('mouseleave', out)
因此,使用该信息,您可以在绑定(bind)和触发鼠标事件时更加精确。
如评论中所述,您还可以使用:
$('.initiator').hover(function(e) {
$('.receiver').trigger(e.type);
})
这里还有很多要读的:http://api.jquery.com/hover/
关于javascript - jQuery:从另一个元素触发悬停事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325519/