Maison > Article > interface Web > Comment annuler un événement de survol dans jquery
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.
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!