Maison  >  Article  >  interface Web  >  Comment annuler un événement de survol dans jquery

Comment annuler un événement de survol dans jquery

藏色散人
藏色散人original
2021-11-11 09:11:425168parcourir

Comment annuler l'événement de survol dans jquery : 1. Liez un événement de clic et de survol à la balise a ; 2. Utilisez le "$('a').unbind('mouseenter').unbind('mouseleave'); " méthode pour annuler Il suffit de lier l'événement de survol.

Comment annuler un événement de survol dans jquery

L'environnement d'exploitation de cet article : système Windows7, jquery version 3.2.1, ordinateur DELL G3

Comment annuler l'événement de survol dans jquery ?

La bonne façon d'annuler et de lier le survol event in jquery

sur la page Web Dans la conception, 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 lier la méthode de survol ? Comment utiliser la dissociation pour dissocier un événement ?

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

Regardez d'abord le code suivant. Supposons que nous lions un événement de clic et de survol à la balise a :

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

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

Mais si vous l'écrivez d'une autre manière, par exemple :

$("a").hover(function(){ alert('mouseover'); }, function(){
alert('mouseout'); })

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

En fait non, les deux événements mouseenter et mouseleave devraient être utilisés à la place (c'est aussi l'événement utilisé dans la fonction .hover())

Il peut donc être cité directement comme ceci :

$(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"); } }); });

Parce que .hover( ) est L'événement défini par jQuery lui-même sert simplement à faciliter la liaison et l'appel des événements mouseenter et mouseleave. Ce n'est pas un événement réel, donc bien sûr, il ne peut pas être appelé en tant que paramètre d'événement dans .bind().

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

Tout le monde sait que vous pouvez utiliser la fonction de dissociation pour annuler les événements liés, mais vous ne pouvez annuler les événements liés par liaison que si vous réussissez. Les événements ainsi liés ne peuvent pas être annulés.

$("a").hover(function(){ alert('mouseover'); }, function(){
alert('mouseout'); })

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

$('a').unbind('mouseenter').unbind('mouseleave');

3. 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. Expliquer simplement comment utiliser cette méthode ne se termine que lorsque l'objectif est atteint, mais il n'y a pas de compréhension approfondie de la raison pour laquelle elle est écrite de cette façon ?

Apprentissage recommandé : "Tutoriel vidéo jquery"

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!

Déclaration:
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
Article précédent:A quoi sert jquery attrArticle suivant:A quoi sert jquery attr