阻止冒泡事件

2021-04-20 09:38:55
##### html事件冒泡: 点击子级元素接收到的事件后,会把子级接收到的事件传递给父级,从下到上依次触发,层层向上传递,直至window。 ###### 在chorme和火狐浏览器中我们需要在点击事件中使用e.stopPropagation()来阻止冒泡 ###### 在IE浏览器中需要使用e.cancelBubble=true来阻止冒泡 ```html <!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>阻止冒泡</title> <style> .father{ width: 600px; height: 600px; background-color: chartreuse; } .son{ width: 300px; height: 300px; background-color: chocolate; margin: 0 auto; } </style> </head> <body> <div class="father"> <div class="son"> </div> </div> <script src="../jquery-3.6.0.min.js"></script> <script> $(".father").click(function(){ alert("父元素") }) $(".son").click(function(e){ if(e.stopPropagation){ // 判断是否为IE浏览器 alert("子元素") e.stopPropagation() //点击事件只在这一层,不会往外冒 }else{ e.cancelBubble=true //IE浏览器阻止冒泡方式 } }) </script> </body> </html> ```