Maison  >  Article  >  interface Web  >  La délégation d'événements et la prévention du bouillonnement empêchent son événement d'élément parent de triggering_jquery

La délégation d'événements et la prévention du bouillonnement empêchent son événement d'élément parent de triggering_jquery

WBOY
WBOYoriginal
2016-05-16 16:38:031430parcourir

Parlez brièvement de la délégation d'événements et de la prévention des bulles

html :

<ul class="clearfix" data-type="cityPick"> 
<li class="active_sort_opts" data-id="0">全部</li> 
<li data-id="88">纽约</li> 
<li data-id="119">洛杉矶</li> 
<li data-id="138">拉斯维加斯</li> 
<li data-id="84">夏威夷</li> 
<li data-id="120">旧金山</li> 
<li data-id="105">奥兰多</li> 
<li data-id="118">西雅图</li> 
</ul>

js :

$("ul[data-type='cityPick']").on('click',function(){ 
alert("父元素ul被点击"); 
}); 
$("ul[data-type='cityPick']").on('click','li',function(){ 
alert("子元素li被点击"); 
});

En cliquant sur un élément li spécifique, on constate que l'événement ul est également déclenché, ce que nous ne voulons pas voir.

Solution :

$("ul[data-type='cityPick']").on('click',function(){ 
alert("父元素ul被点击"); 
}); 
$("ul[data-type='cityPick']").on('click','li',function(e){ 
e.stopPropagation();//阻止冒泡 
alert("子元素li被点击"); 
});

Ajoutez simplement une phrase pour arrêter de bouillonner.

Déclaration:
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