Maison >interface Web >js tutoriel >Comment Javascript empêche les événements de bouillonner et l'événement lui-même de se produire
Dans Javascript
le bouillonnement d'événement est généré par le nœud, puis affecte le nœud parent, s'élevant étape par étape, et finalement affectant lentement la page entière, mais parfois nous voulons empêcher l'apparition d'un bouillonnement d'événement ou même l'événement lui-même est arrivé ? Cet article vous amène à le découvrir ensemble.
1. Empêcher l'événement de se produire
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .boxA { overflow: hidden; width: 300px; height: 300px; margin: 100px auto; background-color: blue; text-align: center; } .boxB { width: 200px; height: 200px; margin: 50px; background-color: green; line-height: 200px; color: #fff; } </style> </head> <body> <div class="boxA"> <div class="boxB">boxB</div> </div> <script> var boxA = document.querySelector('.boxA'); var boxB = document.querySelector('.boxB'); boxA.onclick = function (e) { console.log('我被点击了boxA'); }; boxB.onclick = function (e) { e.cancelBubble=true; //不冒泡 console.log('我被点击了boxB'); }; </script> </body> </html>
2. Empêcher l'événement lui-même de se produire
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <form action="http://www.php.cn" method="POST"> <button type="submit">按钮1</button> </form> <body> <script> const btn=document.querySelector("button"); console.log(btn); btn.addEventListener("click",function(e){ e.preventDefault(); }); </script> </body> </html>
Recommandé : "Questions et réponses de l'entretien js 2021 (grand résumé) "
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!