且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

冒泡事件

更新时间:2022-09-14 13:07:31

 刚开始的时候,不知道什么是冒泡事件?感觉程序中的应用不会很多,也感觉特别不好理解,没接触到代码是这样理解的:冒泡事件就是触发一个事件,它会相应的一级一级向外冒泡,触发相应的冒泡事件。

  一次,查找bug时才有所了解。bug的现象是:某个浏览器中,当“回车”时,页面会报出500的错误,而其他浏览器则不会出现这样的问题。刚开始以为是浏览器兼容的问题,一直向这个方向找错,但是最后师父给看了一下,原来不是浏览器兼容,是冒泡事件。

  因为错误是抛到页面上的,说明页面跳转了,不是ajax的异步请求,敲回车导致页面跳转了,说明某个form表单被提交了,而又不能在其他版本重现,说明DOM嵌套有问题,于是浏览器的容错机制把DOM修正了,出问题的浏览器则刚好把回车时间包到某个form里了。


  解决的办法:(阻止冒泡事件)

1
event.stopPropagation();


当验证form表单中的内容时,若出错,则阻止默认动作。

  阻止事件的默认动作:

1
event.preventDefault();//暂时在项目中未用到



本文转自 爱笑嘚蛋蛋 51CTO博客,原文链接:http://blog.51cto.com/dd118/1675291,如需转载请自行联系原作者