When you hover over one Try this: It will apply the same triggers for the receiver as the initiator receives for both mouseenter and mouseleave. Note that: is just a high-level variant of: so using that information you can be more precise when binding and triggering mouse events. As noted in the comment, you can also use: There are lots more to read here: http://api.jquery.com/hover/ You could do something like-: And now you can have a class that holds the css rules. try Or However you will likely have far better results adding a class to the Not sure what you mean by "hovered", but assuming you have some CSS defined for Here is a quick example that makes link text bold when you move mouse over the div - http://jsfiddle.net/Pharaon/h29bh/
$('.initiator').on('mouseenter mouseleave', function(e) {
$('.receiver').trigger(e.type);
})
.hover(over, out)
.on('mouseenter', over).on('mouseleave', out)
$('.initiator').hover(function(e) {
$('.receiver').trigger(e.type);
})
$(".initiator").hover(function(){
$(".receiver").addClass('hover');
console.log("div was hovered");
}, function(){
$(".receiver").removeClass('hover');
});
hover()
is a jQuery method that ties together mouseenter
and mouseleave
events$(this).find('.receiver').mouseenter()
$(this).find('.receiver').trigger('mouseenter')
a
tag and adding a new css rule. $(this).find('.receiver').toggleClass('hoverClass')
.receiver:hover
pseudo class I would suggest to move them to the separate CSS class .hover
and use jQuery toggleClass
function.$(".initiator").hover(function(){
$(".receiver").toggleClass("hover");
console.log("div was hovered");
});