Maison > Article > interface Web > Raisons et solutions pour la perte d'événement mouseup en JavaScript
Cet article vous présente principalement les informations pertinentes sur les raisons et les solutions à la perte de l'événement mouseup en Javascript L'article donne un exemple de code détaillé pour votre référence et votre étude. Amis qui en ont besoin, veuillez suivre l'éditeur pour apprendre.
Avant-propos
Lors de l'implémentation de fonctions similaires à la zone sélectionnée dans Excel, l'événement mouseup est souvent perdu en raison de l'absence de mouseup. événement, entraînant une opération complète impossible à effectuer. Si vous souhaitez glisser et déplacer, vous pouvez également vous référer à cet article.Cause
Deux raisons sont actuellement trouvées :
Solution
Premier cas
Empêcher le L'opération de glissement peut être empêchée en bloquant l'opération par défaut du système en exécutant le code suivant ://在事件中 e=e || window.event; pauseEvent(e); //阻止事件冒泡 //不仅仅要stopPropagation,还要preventDefault function pauseEvent(e){ if(e.stopPropagation) e.stopPropagation(); if(e.preventDefault) e.preventDefault(); e.cancelBubble=true; e.returnValue=false; return false; }L'opération de glissement peut être empêchée en appelant la méthode pauseEvent sur l'événement, afin d'éviter la perte de la souris dans la zone. . Même si vous souhaitez implémenter une opération de glisser, vous pouvez toujours obtenir l'effet en créant un élément DOM qui suit le mouvement de la souris.
Le deuxième cas
Parce que la souris se déplace en dehors de la zone, l'opération mouseleave est déclenchée, donc dans ce cas, l'opération mouseleave doit être surveillée, et quand l'opération est déclenchée Peut arrêter ou restaurer lestatut .
Une attention particulière doit être accordée à
Lors de la gestion des événements de la souris, vous pouvez également envisager de contrôler quelle touche est enfoncée pour autoriser l'opération. . Il y a un attribut boutonsdans l'événement Souris. Cette valeur indique que la souris a appuyé sur un ou plusieurs boutons. Si plusieurs touches sont enfoncées, la valeur sera multiple : 0 : Pas de bouton ou non initialisé
1 : Bouton gauche de la souris
2 : Bouton droit de la souris
4 : Molette de la souris ou bouton du milieu
8 : Le quatrième bouton (généralement le bouton « retour du navigateur »)
16 : Le cinquième bouton (généralement le bouton « retour du navigateur ») "Avant")
Lorsqu'il y a plusieurs valeurs, cela équivaut à effectuer une opération |, c'est-à-dire lorsque les boutons gauche et droit de la souris sont enfoncés en même temps, 1|2=3 . Vous pouvez utiliser value&1!=0 pour déterminer si le bouton gauche est enfoncé. Par exemple, lorsque les boutons gauche et droit sont enfoncés en même temps, 3&1!=0 est vrai, indiquant que le bouton gauche est enfoncé.
Résumé
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!