Maison > interface Web > js tutoriel > le corps du texte

Découvrez la solution au clic de souris js déclenchant un événement d'emménagement

php是最好的语言
Libérer: 2018-07-24 15:33:44
original
3230 Les gens l'ont consulté

Les événements de souris sont déclenchés lorsque le bouton de la souris est enfoncé (bouton gauche ou droit). Ne peut pas être déclenché via le clavier. Quel est l’ordre dans lequel les événements de la souris sont déclenchés ? Des exemples détaillés sont donnés ci-dessous,

Événements de souris

9 événements de souris sont définis dans les événements de niveau DOM3.

  • mousedown : Déclenché lorsque le bouton de la souris est enfoncé (bouton gauche ou droit). Ne peut pas être déclenché via le clavier.

  • mouseup : Déclenché lorsque le bouton de la souris est relâché et apparaît. Ne peut pas être déclenché via le clavier.

  • clic : Déclenché en cliquant sur le bouton gauche de la souris ou en appuyant sur la touche Entrée. Ceci est important pour garantir l'accessibilité, ce qui signifie que le gestionnaire d'événements onclick peut être exécuté à la fois par le clavier et la souris.

  • dblclick : Déclenché lorsque le bouton gauche de la souris est double-cliqué.

  • mouseover : Déplacez la souris sur l'élément cible. Lancé lorsque la souris se déplace sur son élément descendant.

  • mouseout : La souris sort de l'élément cible.

  • mouseenter : Déclenché lorsque la souris se déplace dans la plage de l'élément Cet événement ne fait pas de bulles , c'est-à-dire qu'il ne sera pas déclenché lorsque la souris se déplace. sur ses éléments descendants.

  • mouseleave : Déclenché lorsque la souris sort de la plage de l'élément, Cet événement ne fait pas de bulles, c'est-à-dire qu'il ne se déclenchera pas lorsque la souris se déplace vers son éléments descendants.

  • mousemove : Déclenché en continu lorsque la souris se déplace à l'intérieur de l'élément. Ne peut pas être déclenché via le clavier.

note:

L'événement click sera déclenché uniquement lorsque les événements mousedown et mouseup seront déclenchés successivement sur un élément. L'événement dblclick sera déclenché uniquement lorsque deux événements click seront déclenchés l'un après l'autre.

Si mousedown ou mouseup est annulé, l'événement de clic ne sera pas déclenché. Si l'événement click est annulé directement ou indirectement, l'événement dblclick ne sera pas déclenché.

1. L'ordre de déclenchement des événements

Exemple : Jetez un œil aux événements déclenchés ci-dessus en double-cliquant sur le bouton.

<input id="btn" type="button" value="click"/><script>
    var btn = document.getElementById("btn");
    btn.addEventListener("mousedown",function(event){
        console.log("mousedown");
    },false);
    btn.addEventListener("mouseup",function(){
        console.log("mouseup");
    },false);
    btn.addEventListener("click", function () {
        console.log("click");
    },false);
    btn.addEventListener("dblclick", function () {
        console.log("dblclick");
    },false);</script>
Copier après la connexion

Afficher le code

2. La différence entre la saisie par la souris et le survol de la souris

Différence :

L'événement mouseover fera une bulle, ce qui signifie qu'il sera déclenché lorsque la souris se déplacera sur ses éléments descendants.

L'événement mouseenter ne fait pas de bulle, ce qui signifie qu'il ne se déclenchera pas lorsque la souris sera déplacée sur ses éléments descendants.

Exemple :

<!DOCTYPE html><html><head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        #outer{            position: absolute;            width: 200px;            height: 200px;            top:0;            left: 0;            bottom:0;            right: 0;            margin: auto;            background-color: pink;        }
        #inner{            position: absolute;            width: 100px;            height:100px;            top:50%;            left:50%;            margin-left: -50px;            margin-top: -50px;;
            background-color: orange;            text-align: center;            line-height: 100px;        }
        #outer,#inner{            border-radius:50%;        }
    </style>
    <script src="jquery-2.1.1.min.js"></script></head><body><body>
    <p id="outer">
            <p id="inner">
            </p>
    </p></body><script>
    var parentp = document.getElementById("outer");
    parentp.addEventListener("mouseover", function () {
         console.log("父p的mouseover事件被触发");
    },false);    //parentp.addEventListener("mouseenter", function () {
    //    console.log("父p的mouseenter事件被触发");
    //},false);
    //parentp.addEventListener("mouseout", function () {
    //    console.log("父p的mouseout事件被触发");
    //},false);
    //parentp.addEventListener("mouseleave", function () {
    //    console.log("父p的mouseleave事件被触发");
    //},false);</script></body></html>
Copier après la connexion

Afficher le code

remarque :

mouseover correspond à mouseout, mouseenter correspond à mouseleave. L'effet peut être vu en décommentant le code ci-dessus.

L'API de survol dans jquery est une combinaison de mouseenter et mouseleave.

3. Boutons gauche et droit de la souris

<script type="text/javascript">document.onmousedown=function (ev){
    var oEvent = ev||event; //IE浏览器直接使用event或者window.event得到事件本身。
    alert(oEvent.button);// IE下鼠标的 左键是1 ,  右键是2   ff和chrome下 鼠标左键是0  右键是2};</script>
Copier après la connexion

Recommandations associées :

JavaScript Résumé de l'apprentissage de l'événement (2) gestionnaire d'événements js

Résumé de l'apprentissage de l'événement JavaScript (4) membres publics (propriétés et méthodes) de l'événement

Résumé de l'apprentissage de l'événement JavaScript (3) objet d'événement js

Résumé de l'apprentissage de l'événement JavaScript (1) flux d'événements

Vidéo : événement de passage de la souris JavaScript ( onmouseover) - tutoriel javascript pour débutant

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!