Maison > interface Web > js tutoriel > jquery : code d'implémentation pour l'annulation et la liaison de l'événement de survol

jquery : code d'implémentation pour l'annulation et la liaison de l'événement de survol

黄舟
Libérer: 2017-06-26 11:11:39
original
1323 Les gens l'ont consulté

L'éditeur suivant vous apportera un code d'implémentation pour annuler et lier l'événement hover dans jquery. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil

Dans la conception Web, nous utilisons souvent jquery pour répondre aux événements de survol de la souris, qui ont le même effet que les événements mouseover et mouseout, mais comment utiliser bind pour les lier. la méthode du survol ? Comment utiliser la dissociation pour dissocier un événement ?

1. Comment lier l'événement de survol

Supposons que nous lions un événement de clic et de survol au a. tag :

$(document).ready(function(){
  $('a').bind({
    hover: function(e) {
      // Hover event handler
      alert("hover");
    },
    click: function(e) {
      // Click event handler
      alert("click");
    }
  });
});
Copier après la connexion

Lorsque l'on clique sur la balise a, quelque chose d'étrange se produit. L'événement de survol lié ne répond pas du tout, mais l'événement de clic lié répond normalement.

Mais si vous modifiez la méthode d'écriture, par exemple :

$("a").hover(function(){
  alert('mouseover');
}, function(){
  alert('mouseout');
})
Copier après la connexion
Copier après la connexion

Ce code peut s'exécuter normalement. Vous ne pouvez pas lier le survol de liaison ?

En fait non, vous devriez plutôt utiliser les deux événements mouseenter et mouseleave (c'est aussi l'événement utilisé dans la fonction .hover() ), pour pouvoir le faire directement comme this Citation  :

$(document).ready(function(){
  $('a').bind({
    mouseenter: function(e) {
      // Hover event handler
      alert("mouseover");
    },
    mouseleave: function(e) {
      // Hover event handler
      alert("mouseout");
    },
    click: function(e) {
      // Click event handler
      alert("click");
    }
  });
});
Copier après la connexion

Parce que .hover() est un événement défini par jQuery lui-même, c'est juste pour la commodité des utilisateurs de lier et d'appeler les événements mouseenter et mouseleave. ce n'est pas un événement réel, donc bien sûr, il ne peut pas être considéré comme appelé avec les paramètres d'événement dans .bind().

2. Comment annuler l'événement de survol

Comme nous le savons tous, vous pouvez utiliser la fonction de dissociation pour annuler les événements liés, mais vous ne pouvez annuler que les événements liés par bind. L'événement de survol dans jquery est assez spécial. Si l'événement est lié de cette manière, il ne peut pas être annulé.

$("a").hover(function(){
  alert('mouseover');
}, function(){
  alert('mouseout');
})
Copier après la connexion
Copier après la connexion

La bonne façon d'annuler l'événement de survol lié :

$('a').unbind('mouseenter').unbind('mouseleave');
Copier après la connexion

Résumé

En fait, vous pouvez vous référer à la documentation officielle de jquery pour ces problèmes, mais peu de gens l'ont lu la plupart des tutoriels sur Internet expliquent uniquement comment utiliser cette méthode, et n'atteignent que l'objectif, sans une compréhension approfondie. de pourquoi. Écrire comme ça ?

Si vous avez des questions, n'hésitez pas à laisser un commentaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal