[JavaScript]取消默认行为和事件冒泡

小鱼儿 2022-11-27 10:17 259阅读 0赞
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style>
  7. #dv1 {
  8. width: 300px;
  9. height: 300px;
  10. background: red;
  11. }
  12. #dv2 {
  13. width: 100px;
  14. height: 100px;
  15. background: blue;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <div id='dv1'>
  21. <div id='dv2'></div>
  22. </div>
  23. <a href="http://www.baidu.com/" id='oA'>跳转</a>
  24. <!--取消了默认行为则a标记无法跳转-->
  25. <script>
  26. oA.onclick = function (e) {
  27. if (e.preventDefault) { //阻止默认行为
  28. e.preventDefault() //w3c
  29. } else {
  30. e.returnValue = false //ie
  31. }
  32. }
  33. dv1.onclick = function () {
  34. alert("div1")
  35. }
  36. dv2.onclick = function (e) {
  37. alert("div1")
  38. var e = window.event || e;
  39. if (e.stopPropagation) { //阻止事件冒泡
  40. e.stopPropagation(); //w3c
  41. } else {
  42. e.cancelBubble = true; //ie
  43. }
  44. //阻止事件冒泡后点击div2就不再会触发div2的事件了
  45. }
  46. </script>
  47. </body>
  48. </html>

更多阻止事件冒泡、事件捕获以及应用场景相关内容查看:
https://blog.csdn.net/qq\_43540219/article/details/107826683?ops\_request\_misc=%257B%2522request%255Fid%2522%253A%2522159741341919195162513654%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request\_id=159741341919195162513654&biz\_id=0&utm\_medium=distribute.pc\_search\_result.none-task-blog-2blogfirst\_rank\_v2~rank\_blog\_v1-1-107826683.pc\_v2\_rank\_blog\_v1&utm\_term=%E5%86%92%E6%B3%A1&spm=1018.2118.3001.4187

发表评论

表情:
评论列表 (有 0 条评论,259人围观)

还没有评论,来说两句吧...

相关阅读