Maison > interface Web > js tutoriel > 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
Libérer: 2016-05-16 16:38:03
original
1443 Les gens l'ont consulté

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>
Copier après la connexion

js :

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

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被点击"); 
});
Copier après la connexion

Ajoutez simplement une phrase pour arrêter de bouillonner.

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