时间:2021-01-30 10:27:49 | 栏目:jquery | 点击:次
事件的冒泡
什么是事件的冒泡?
就是事件从子元素向父元素传递的一个过程
如何阻止事件的冒泡?
方式一:在事件的回调函数中加上return false;
方式二:在事件回调函数的形参列表中添加event,然后在回调函数中调用event.stopPropagation();.
事件的默认行为
什么是事件的默认行为?
就是像a标签那样,没有绑定事件,但只要点击了就会自动跳转的行为
像提交按钮一样,没有绑定事件,但是点击就会提交表单信息,自动跳转
如何阻止事件的默认行为?
方式一:在事件的回调函数中加上return false;
方式二:在事件回调函数的形参列表中添加event,然后在回调函数中调用event.stopPropagation();.
示例代码
HTML以及css代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>23-jQuery事件的冒泡和默认行为</title> <style> *{ margin: 0; padding: 0; } .father{ width: 400px; height: 400px; background-color: brown; } .son{ width: 200px; height: 200px; background-color: skyblue; } </style> </head> <body> <div class="father"> <div class="son"></div> </div> <form action="http://www.baidu.com"> <input type="text"> <input type="submit" value="提交"> </form> </body> </html>
JavaScript代码(用到了jquery-1.11.3.js)
<script src="../js/jquery-1.11.3.js"></script> <script> $(function () { $(".father").click(function () { alert("father"); }); $(".son").click(function (event) { alert("son"); // return false; // 方式一 // 阻止子元素点击事件的冒泡 event.stopPropagation(); // 方式二 }); $("input[type=submit]").click(function (event) { // return false; // 方式一 // 取消提交按钮的默认行为 event.preventDefault(); }); }); </script>
运行效果