Lorsque vous survolez un <div>
, je souhaite qu'un "<a>
" sur une partie distincte de la page soit également "survolé".
<div class="initiator">
</div>
<div>
<a class="receiver href="#">Touch the div and I get hovered!</a>
</div>
J'ai essayé cette jQuery, mais cela ne déclenche pas le CSS en vol stationnaire du <a>
.
$(".initiator").hover(function(){
$(".receiver").hover();
console.log("div was hovered");
});
Essaye ça:
$('.initiator').on('mouseenter mouseleave', function(e) {
$('.receiver').trigger(e.type);
})
Il appliquera les mêmes déclencheurs pour le récepteur que l'initiateur reçoit pour mouseenter et mouseleave. Notez que:
.hover(over, out)
est juste une variante de haut niveau de:
.on('mouseenter', over).on('mouseleave', out)
en utilisant ces informations, vous pouvez donc être plus précis lors de la liaison et du déclenchement d'événements de souris.
Comme indiqué dans le commentaire, vous pouvez également utiliser:
$('.initiator').hover(function(e) {
$('.receiver').trigger(e.type);
})
Il y a beaucoup plus à lire ici: http://api.jquery.com/hover/
Vous pouvez faire quelque chose comme-:
$(".initiator").hover(function(){
$(".receiver").addClass('hover');
console.log("div was hovered");
}, function(){
$(".receiver").removeClass('hover');
});
Et maintenant, vous pouvez avoir une classe qui contient les règles css.
Vous ne savez pas exactement ce que vous entendez par "survoler", mais supposons que vous ayez des CSS définies pour la pseudo-classe .receiver:hover
, je vous suggère de les déplacer dans la classe CSS .hover
et d'utiliser la fonction jQuery toggleClass
.
Voici un exemple rapide qui rend le lien en gras lorsque vous passez la souris sur la div - http://jsfiddle.net/Pharaon/h29bh/
$(".initiator").hover(function(){
$(".receiver").toggleClass("hover");
console.log("div was hovered");
});
hover()
est une méthode jQuery qui relie les événements mouseenter
et mouseleave
essayer
$(this).find('.receiver').mouseenter()
Ou
$(this).find('.receiver').trigger('mouseenter')
Cependant, vous obtiendrez probablement de meilleurs résultats en ajoutant une classe à la balise a
et en ajoutant une nouvelle règle css.
$(this).find('.receiver').toggleClass('hoverClass')