javascript - Comment le navigateur sait-il qu'un événement s'est produit?
滿天的星座
滿天的星座 2017-06-14 10:51:11
0
6
668

Récemment, j'ai étudié en profondeur les problématiques liées à la captation et au bouillonnement des événements :
J'ai cette compréhension, je ne sais pas si c'est correct, vous pouvez y jeter un oeil.

Le mécanisme de propagation des événements est divisé en trois étapes : l'étape de capture, l'étape d'atteinte de la cible et l'étape de bouillonnement. Je pense que le but de ce mécanisme de propagation est de surveiller si un événement se produit, quel type d'événement il se produit et où l'événement se produit. Ce qu'on appelle la capture d'événement signifie que le navigateur recherche si un événement s'est produit. Quant au temps de traitement après l'événement, il est obtenu en enregistrant la fonction de traitement d'événement et le dernier paramètre de addEventListener().

Mais si je suis cette idée, j'aurai un tel problème.

Par exemple, j'ai un morceau de code comme celui-ci

button

J'utilise la méthode de capture pour gérer les événements et empêcher l'événement de continuer à se propager dans la fonction de gestion des événements. Cela semble naturel, mais ma question est la suivante : si l'événement a cessé de se propager, comment le navigateur sait-il où l'événement s'est produit ? Comment sait-il qu'un événement s'est produit ? S'il ne sait pas qu'un événement s'est produit, comment peut-il exécuter le gestionnaire d'événement correspondant ?

滿天的星座
滿天的星座

répondre à tous (6)
给我你的怀抱

Votre conflit est dû à une mauvaise compréhension de la phase de capture. Ne vous inquiétez pas du nom. La capture et le bouillonnement sont au même niveau. L’un fonctionne de l’extérieur vers l’intérieur et l’autre fonctionne de l’intérieur vers l’extérieur. Ainsi, l'interruption d'événement est interrompue pendant le processus de propagation, pas avant la propagation.

    大家讲道理

    Si vous parlez de comment l'obtenir. Je pense que la réponse réside dans la boucle d'événements JavaScript

    Liens : https://developer.mozilla.org...

      仅有的幸福

      Le code est exécuté par le navigateur pour vous, l'événement est détecté par le navigateur, puis le navigateur vous aide à exécuter l'événement que vous avez spécifié.

      Alors vous demandez comment le navigateur le sait-il ?

        世界只因有你

        C'est parce que JavaScript est un langage directif. Qu'est-ce qu'un langage directif ? Autrement dit, chaque instruction JavaScript que vous écrivez est une instruction pour demander au navigateur de faire quelque chose. Par exemple, le document.getElementById() le plus simple informe en fait le navigateur d'obtenir le DOM approprié, plutôt que JavaScript lui-même. Il en va de même pour la gestion des événements.

          女神的闺蜜爱上我

          Cliquez pour exécuterdisableClickHandler, empêchant l'événement de se propager, alors...

            黄舟

            Si l'événement a cessé de se propager, comment le navigateur sait-il où l'événement s'est produit ?

            Il ne veut pas savoir.

            Comment sait-il qu'un événement s'est produit ?

            Il ne le sait pas non plus.

            S'il ne sait pas qu'un événement s'est produit, comment peut-il exécuter le gestionnaire d'événement correspondant ?

            Il a dit que c'était paresseux.

              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!