Maison >interface Web >js tutoriel >Résumé et partage des événements de clic couramment utilisés en JavaScript

Résumé et partage des événements de clic couramment utilisés en JavaScript

WBOY
WBOYavant
2022-10-11 14:43:155988parcourir

Cet article vous apporte des connaissances pertinentes sur JavaScript, qui présente principalement du contenu pertinent sur les temps de clic couramment utilisés, y compris l'asynchronie onclick, la synchronicité, la séquence de déclenchement d'événements, l'enregistrement du temps, etc. Jetons-y un coup d'œil ensemble, j'espère que cela sera utile à tout le monde.

Résumé et partage des événements de clic couramment utilisés en JavaScript

[Recommandations associées : Tutoriel vidéo JavaScript, front-end web]

introduction à onclick

onclick est un attribut d'événement en HTML, sa fonction est de déclencher un événement lorsque l'utilisateur clique sur un élément . L'événement

onclick peut être lié à n'importe quel élément, tel que

,

en JavaScript. Cette boucle sera exécutée 100 millions de fois. , mais cela ne vous empêche pas de cliquer sur le bouton.

À ce moment-là, lorsque vous cliquez sur le bouton, il n'y aura aucune réponse de la console. En effet, l'événement onclick est asynchrone, donc lorsque vous cliquez sur le bouton, l'événement onclick

n'est pas déclenché, mais attend que le JavaScript est exécuté. Il ne sera déclenché que lorsque les tâches de la pile seront exécutées.

Synchronicité de onclick

Il a été dit ci-dessus que l'événement onclick est asynchrone, et maintenant il est dit que l'événement onclick est synchrone. Cela semble un peu contradictoire de dire cela. En fait, les deux déclarations sont correctes. le code :

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>onclick</title>
</head>
<body>
<button id="btn">click</button>
<script>
    document.getElementById(&#39;btn&#39;).onclick = function () {
        console.log(&#39;click&#39;);
    }
    for (var i = 0; i < 10; i++) {
        console.log(i);
        if (i === 5) {
            document.getElementById(&#39;btn&#39;).click();
        }
    }
</script>
</body>
</html>

Dans le code ci-dessus, lorsque la sortie de la console atteint 5, nous déclenchons manuellement l'événement onclick. À ce moment, la console affichera click

, puis continuera à afficher ce qui suit. .

Après avoir consulté les informations pertinentes, si l'événement onclick est déclenché manuellement par l'utilisateur, alors l'événement onclick est asynchrone et sera poussé dans la file d'attente des événements. Si l'événement onclick

est déclenché par du code JavaScript, alors l'événement onclick. est synchrone sera exécuté immédiatement.

La séquence de déclenchement d'onclick

La séquence de déclenchement des événements onclick consiste à capturer d'abord puis à faire des bulles, c'est-à-dire que l'événement de capture est déclenché en premier, puis l'événement de bouillonnement est déclenché.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>onclick</title>
</head>
<body>
<div id="div1">
    <div id="div2">
        <div id="div3">
            <button id="btn">click</button>
        </div>
    </div>
</div>
<script>
    document.getElementById(&#39;div1&#39;).onclick = function () {
        console.log(&#39;div1&#39;);
    }
    document.getElementById(&#39;div2&#39;).onclick = function () {
        console.log(&#39;div2&#39;);
    }
    document.getElementById(&#39;div3&#39;).onclick = function () {
        console.log(&#39;div3&#39;);
    }
    document.getElementById(&#39;btn&#39;).onclick = function () {
        console.log(&#39;btn&#39;);
    }
</script>
</body>
</html>

Dans le code ci-dessus, nous lions les événements onclick respectivement à l'élément

et à l'élément

Cliquez ensuite sur l'élément

Si vous double-cliquez sur l'élément

Donc, l'ordre de déclenchement des événements est onmousedown, onmouseup, onclick, ondblclick.

Ainsi, lorsque vous utilisez l'événement onclick, si plusieurs événements liés aux boutons de la souris sont liés, vous devez faire attention à la logique de traitement des événements pour éviter certains problèmes inattendus.

Objet événement

Dans l'événement onclick, nous pouvons obtenir l'objet événement via le paramètre event, qui contient des informations relatives à l'événement.

L'objet événement event est une instance de MouseEvent. Il hérite de UIEvent et Event, donc l'objet événement contient toutes les propriétés et méthodes de UIEvent et Event.

PropriétésMouseEvent :

Résumé et partage des événements de clic couramment utilisés en JavaScript

MéthodesMouseEvent :

  • getModifierState() : renvoie une valeur booléenne indiquant si la touche spécifiée est enfoncée.

  • initMouseEvent() : initialise l'objet événement.

  • preventDefault() : comportement par défaut pour empêcher les événements.

  • stopImmediatePropagation() : empêche les événements de se propager vers le haut et empêche une capture ou un bouillonnement ultérieur des événements.

  • stopPropagation() : empêche les événements de bouillonner.

Comment enregistrer des événements de clic

Les événements de clic peuvent être enregistrés via l'attribut onclick, la méthode addEventListener() et la méthode attachEvent().

attribut onclick

L'attribut onclick est un attribut d'Element. Sa valeur est une fonction Lorsque l'événement click est déclenché, cette fonction sera exécutée.

<button onclick="console.log(&#39;click&#39;)">click</button>

addEventListener()

addEventListener()方法是EventTarget的一个方法,它的第一个参数是事件的名称,第二个参数是事件处理函数,第三个参数是一个布尔值,表示是否在捕获阶段触发事件处理函数。

<button id="btn">click</button>
<script>
  var btn = document.getElementById(&#39;btn&#39;);
  btn.addEventListener(&#39;click&#39;, function() {
    console.log(&#39;click&#39;);
  });
</script>

attachEvent()

attachEvent()方法是EventTarget的一个方法,它的第一个参数是事件的名称,第二个参数是事件处理函数。

<button id="btn">click</button>
<script>
  var btn = document.getElementById(&#39;btn&#39;);
  btn.attachEvent(&#39;onclick&#39;, function() {
    console.log(&#39;click&#39;);
  });
</script>

结语

click事件是鼠标点击事件,它是MouseEvent的一个实例,它的事件类型是click,它可以通过onclick属性、addEventListener()方法和attachEvent()方法注册。

【相关推荐:JavaScript视频教程web前端

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer