Maison  >  Questions et réponses  >  le corps du texte

javascript - Question sur MouseEnter

<head>
<style>
    .enter h2{
        border:1px solid;
        background: white;
        position: absolute;
        top: 200px;
    }
   .enter{
           border:1px solid;
           background: #eee;
           width: 500px;
           height: 100px;
   }
</style>
<script type="text/javascript" src="jquery/jquery-3.2.1.js"></script>
</head>
<body>
    <p>只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。</p>
    <p class="enter">
        <h2 >被触发的 Mouseenter 事件:<span></span></h2>
    </p>
<script type="text/javascript">
    x=0;
    y=0;
    $(document).ready(function(){
      $("p.enter").mouseenter(function(){
        $(".enter span").text(y+=1);
      });
    });
</script>
</body>

Lorsque j'utilise le positionnement absolu pour déplacer l'élément enfant ci-dessous, l'événement sera également déclenché lors du passage par l'élément enfant. Que se passe-t-il ?

滿天的星座滿天的星座2641 Il y a quelques jours900

répondre à tous(2)je répondrai

  • 怪我咯

    怪我咯2017-07-05 11:01:01

    Le positionnement absolu supprime uniquement les éléments du flux normal et ne modifie pas la structure de l'arborescence du document, de sorte que les éléments enfants sont toujours considérés comme étant à l'intérieur de l'élément parent.

    La solution peut être de déterminer si event.target est un élément enfant, ou de lier le survol de la souris aux deux, puis d'arrêter la propagation dans l'élément enfant.

    répondre
    0
  • 滿天的星座

    滿天的星座2017-07-05 11:01:01

    Basé sur https://www.w3.org/TR/uievent...

    Un agent utilisateur DOIT envoyer cet événement lorsqu'un dispositif de pointage est déplacé sur les limites d'un élément ou de l'un de ses éléments descendants. Ce type d'événement est similaire au survol de la souris, mais diffère en ce sens qu'il ne fait pas de bulles et NE DOIT PAS être distribué. lorsque le dispositif de pointage se déplace d'un élément vers les limites de l'un de ses éléments descendants.

    La traduction est :

    Lorsque quelque chose comme un pointeur se déplace vers la limite d'un élément, ou la limite de l'un de ses éléments descendants, l'événement mouseenter doit être déclenché. Lorsque le pointeur se déplace d'un élément vers la limite d'un de ses éléments descendants, l'événement mouseenter ne peut pas être déclenché.

    Donc la réponse à votre question est qu'il est stipulé par d'autres que le passage à la descendance déclenchera également la saisie de la souris

    répondre
    0
  • Annulerrépondre