event.preventDefault()用法介绍(阻止默认事件)

该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。

该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。

例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。

注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。

例子:

1 $("a").click(function (e) {
2         alert("默认行为被禁止喽");
3         e.preventDefault();
4     });
5
6 <a href="http://www.baidu.com">测试</a>

event.stopPropagation()用法介绍(阻止冒泡)

该方法将停止事件的传播,阻止它被分派到其他 Document 节点。在事件传播的任何阶段都可以调用它。注意,虽然该方法不能阻止同一个 Document 节点上的其他事件句柄被调用,但是它可以阻止把事件分派到其他节点

该方法将停止事件的传播,阻止它被分派到其他 Document 节点。在事件传播的任何阶段都可以调用它。

注意:虽然该方法不能阻止同一个 Document 节点上的其他事件句柄被调用,但是它可以阻止把事件分派到其他节点。

event是DOM的事件方法,所以不是单独使用,比如指定DOM

 1 <div id="A">
 2     <div id="B">
 3     </div>
 4 </div>
 5 <script>
 6     var a = document.getElementById('A'),
 7     b = document.getElementById('B');
 8     function handlera (e) {
 9         console.log(e.target);
10     }
11     function handler (e) {
12         console.log(e.target);
13         e.stopPropagation();
14     }
15 b.addEventListener('click', handler, false);
16 a.addEventListener('click', handlera, false);
17 </script>

点击B,输出:

1 <div id="B"></div>

 1 <div id="A">
 2     <div id="B">
 3     </div>
 4 </div>
 5 <script>
 6 var a = document.getElementById('A'),
 7     b = document.getElementById('B');
 8 function handlera (e) {
 9     console.log(e.target + 'a');
10 }
11 function handler (e) {
12     console.log(e.target + 'b');
13 }
14 b.addEventListener('click', handler, false);
15 a.addEventListener('click', handlera, false);
16 </script>

点击B时,输出:

1 [object HTMLDivElement]b
2 [object HTMLDivElement]a

以上例子,不难看出stopPropagation()功能就是阻止了冒泡,上面第二个例子中,没有用这个方法阻止冒泡,当点击子元素时,由于事件冒泡,触发了父元素的click事件,所以第二个例子中会多出现一次输出内容,即为:触发A元素点击事件的输出内容。

jqueryreturn false等效于同时调用e.preventDefault()和e.stopPropagation();

return false除了阻止默认行为之外,还会阻止事件冒泡。如果手上有一份jquery源代码的话,可查看其中有如下代码:

1 if(ret===false){
2     event.preventDefault();
3     event.stopPropagation();
4 }

以上就是我对preventDefault与stopPropagation的了解,有很多的不足,请大家多多指出,多多留言,谢谢!!!

转载于:https://www.cnblogs.com/bo-haier/p/5644524.html

深入了解preventDefault与stopPropagation相关推荐

  1. js中的preventDefault与stopPropagation详解

    1. preventDefault: 比如<a href="http://www.baidu.com">百度</a>,这是html中最基础的东西,起的作用就 ...

  2. js中的preventDefault与stopPropagation详解(转)

    先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如<a href="http:/ ...

  3. preventDefault与stopPropagation的作用

    如题,本篇文章讨论preventDefault和stopPropagation二者的作用,首先,先理解一下二者的字面意思: 一.preventDefault,prevent是动词,意为"防止 ...

  4. 前端知识点(1)——preventDefault和stopPropagation

    [preventDefault] (1)在表单中,点击"提交",即可提交表单,如果我们想要阻止这种表单的默认行为,即可使用preventDefault (2)a标签等的点击链接,点 ...

  5. js中preventDefault、stopPropagation、return false三者之间

    2019独角兽企业重金招聘Python工程师标准>>> preventDefault: preventDefault它是事件对象(Event)的一个方法,作用是取消一个目标元素的默认 ...

  6. event.stopPropagation和event.preventDefault有什么区别?

    他们似乎在做同样的事情--是现代的还是老的? 还是不同的浏览器支持它们? 当我自己处理事件(没有框架)时,我总是检查两者并执行(如果存在). (我也return false ,但是我感觉不适用于与no ...

  7. preventDefault, stopPropagation, stopImmediatePropagation 三者的区别

    event事件对象有三种易混淆的方法,本文讲述他们之间的区别: Event.preventDefault() Event.stopPropagation() Event.stopImmediatePr ...

  8. return、reutrn false、e.preventDefault、e.stopPropagation、e.stopImmediatePropagation的区别

    return var i = function(){ return } console.log(i())//undefined return的主要作用是阻止函数继续执行,直接返回undefined r ...

  9. [JavaScript]return false;和e.preventDefault();的区别

    function() {return false; }// IS EQUAL TOfunction(e) {e.preventDefault();e.stopPropagation(); } 参考: ...

最新文章

  1. python连接服务器代码_python服务器端收发请求的实现代码
  2. cookie放在请求头_Web安全:你必须知道的“Cookie安全”
  3. 光学镜头行业发展现状及趋势,智能手机应用领域占比最高
  4. 优酷视频如何修改账号密码?
  5. 括号匹配不一定用栈哦(洛谷P1739题题解,Java语言描述)
  6. stone 的 log4j配置详解
  7. java版定时任务quartz【石英钟】
  8. iOS IM开发建议(一)App框架设计
  9. Mybatis resultMap空值映射问题解决
  10. 亲测!这款耳机堪比 AirPods,还不到 200 块!
  11. OpenCasCade标注显示类(独立)
  12. 车辆销售系统用例_销售管理系统的UML分析与设计
  13. html视频播放卡顿,网页看视频卡怎么解决
  14. excel软件的IF函数及其用法
  15. 7个实用方法,让你稳步提升记忆!
  16. 单击屏幕亮屏流程分析
  17. 键盘对应的ASCⅡ码
  18. 【Java-数据脱敏】使用Java对姓名、手机号码、证件号码进行数据脱敏
  19. php语言的应用领域,探讨主要的PHP应用领域
  20. 12件可能改变未来大事:人造生命到致命病毒

热门文章

  1. 字符串与数组之间的相互转化
  2. IPS不用添加service帐号进入linux使得管理主机能访问的方法
  3. 智能DNS+双线机房
  4. Flex3——编译器错误代码列表
  5. 专家教你如何设置无线路由器 享受无线乐趣
  6. Visual C#中用WMI控制远程计算机
  7. 庆祝.Net BI团队成立!
  8. rtsp简介(ZT)之消息流程-转
  9. 手把手教你玩转网络编程模型之完成例程(Completion Routine)篇(上)-转
  10. angularjs过滤器(number)