什么是默认事件?这个问题实际很简单,当你做了其个操作时,程序应该进行的事件就是默认事件,相当于你按下回车时,换行就是一个默认事件,按下右键时,出现菜单也是一个默认事件,我们把他精确到Java Stript中时,其事件就相当于元素绑定的事件,而事件触发后要执行的程序也是默认事件。
讲解到这个程序我们已经了解了默认事件是什么,那么 怎么阻止默认事件呢?首先我们肯定得先得到一个默认事件,再对其进行阻止,不然全阻止也不是我们想要的结果,得到事件名后,那么我们可以使用以下API代码去阻止其事件
事件名.preventDefault()
除了阻止默认事件,还有一个是阻止默认冒泡,首先我们要分清何为冒泡。
当我们给予一个元素点击触发事件时,去点击其子元素,也会触发元素的点击事件,其原理是,当我们点击子元素时,程序会先从外到里一层层去需要和具体触发的元素,然后再从这个元素去往外层一层层触发相应的事件。
假如我们给父元素A一个点击触发事件,点击后在控制台打印A,再给A的子元素一个点击触发事件,点击后在控制台打印B,然后我们点击B,在控制台可以看到先打印B再打印A。实际是点击B后先从最外层document一层层往里找,直到B,在这个过程中判断是否触发其个元素的事件,然后再从B元素往外层一层层去触发相应的事件。
在上述举例中,先从A找往下找到B,然后从B触发的事件再往外去触发A的事件。
那么如何阻止呢?答案是stopPropagation(),阻止冒泡。
只要给A 元素使用了些方法,那么在点击B后,先在往里找的过程中,找到A时直接触发A上面绑定的事件,再找到B,然后从B往外一层层冒泡触发事件,元素阻止冒泡后,在冒泡阶段不会再触发。