Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
181
rated 0 times [  184] [ 3]  / answers: 1 / hits: 80561  / 12 Years ago, sat, november 10, 2012, 12:00:00

When you hover over one <div>, I want an <a> on a separate part of the page to be hovered on also.



<div class=initiator>
</div>
<div>
<a class=receiver href=#>Touch the div and I get hovered!</a>
</div>


I've tried this jQuery, but it doesn't trigger the <a>'s hover CSS.



$(.initiator).hover(function(){
$(.receiver).hover();
console.log(div was hovered);
});

More From » jquery

 Answers
12

Try this:



$('.initiator').on('mouseenter mouseleave', function(e) {
$('.receiver').trigger(e.type);
})


It will apply the same triggers for the receiver as the initiator receives for both mouseenter and mouseleave. Note that:



.hover(over, out) 


is just a high-level variant of:



.on('mouseenter', over).on('mouseleave', out)


so using that information you can be more precise when binding and triggering mouse events.



As noted in the comment, you can also use:



$('.initiator').hover(function(e) {
$('.receiver').trigger(e.type);
})


There are lots more to read here: http://api.jquery.com/hover/


[#82062] Friday, November 9, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
yosefleod

Total Points: 113
Total Questions: 100
Total Answers: 115

Location: Egypt
Member since Tue, May 3, 2022
2 Years ago
;