Vous pouvez utiliser e.stopPropagation(); e.preventDefault(); pour empêcher l' événement de bouillonner et l'exécution de l'événement par défaut. Mais cela ne peut pas empêcher l'ajout d'événements. Si vous souhaitez en ajouter, veuillez consulter la méthode d'implémentation ci-dessous
Parfois, vous pouvez utiliser e.stopPropagation(); e.preventDefault(); des événements par défaut. Mais cela ne peut pas empêcher l’ajout de l’événement.
Dans quelles circonstances doit-on empêcher l'ajout d'événements ?
Par exemple :
Cliquez sur « Commander ». Lorsque vous effectuez cette opération, le paiement lui-même a son propre événement, mais vous devez déterminer si vous devez vous connecter avant de procéder au paiement.
Nous pourrions écrire comme ceci :
Code Js
Le code est le suivant :
if(isLogin){ //判断是否登录 console.log("没有登录") }else{ //结账相关代码 } 如果点击“我的主页”也有登录判断 登录判断代码 if(isLogin){ //判断是否登录 console.log("没有登录") }else{ //个人中心 }
S'il y a plus de jugements de connexion . Y aura-t-il plus de code comme celui ci-dessus ? Plus tard, j'ai découvert la méthode stopImmediatePropagation() pour empêcher l'ajout d'événements. Le problème ci-dessus n'est plus un problème.
Important : assurez-vous que l'événement de jugement de connexion est le premier événement lié.
Code démo
Le code est le suivant :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>demo</title> <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script> </head> <body> <a href="#" class="bill isLogin">结账 </a> <ul> <li class="a1 isLogin">加入收藏夹</li> <li class="a2 isLogin">他人支付</li> <li>加入购入车</li> <li class="a4 isLogin">我的主页</li> </ul> <script> //最先绑定 $(".isLogin").on("click", function (e) { if(true){ //登录判断 alert("没有登录"); e.stopImmediatePropagation(); } return false; }); $(".bill").on("click",function(){ alert("结账相关内容!"); }); $(".a1").on("click",function(){ alert("a1"); }); $(".a2").on("click",function(){ alert("a2"); }); $(".a3").on("click",function(){ alert("已加入购物车"); }); $(".a4").on("click",function(){ alert("有登录判断"); }); </script> </body> </html>
En fait, jquery nous offre un moyen de visualiser les événements $._data($( '.isLogin' ).get(0)), ouvrez firebug et entrez dans la console.
Code Js
$._data($('.isLogin').get(0))
verra ce qui suit :
Code Js
Object { events={...}, handle=function()}
Cliquez pour voir l'événement array pour une visualisation facile des liaisons sur les éléments Quel genre d'événement s'est produit.
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!