入行三年,今天重新谈下这两个事件:
一、默认事件,即像
1.a链接点击跳转行为
2.form表单中的button或type为submit的input点击会默认提交submit事件
3.document绑定contextmenu默认右键点击会弹出菜单
所以,如果你不想事件点击触发默认行为,就需要我们讲的组织默认事件了,非常简单的方法
如果是移动端,不考虑兼容问题直接在绑定元素的事件函数中写
e.preventDefault 或者直接 return false
若是在pc端中,考虑ie的兼容问题的话,
document.querySelector("a").onclick= function(e){
var event = e||window.event;
e.preventDefault)?e.preventDefault():event.returnValue = false;
}
}
那说完了默认事件,说说冒泡
二、冒泡事件,即当子元素,父元素,document都绑定事件的时候,只点击子元素区域会依次冒泡到document中,这时候可能会造成不必要的麻烦,所以只需要在目标元素的绑定方法中直接阻止冒泡就行。
e.stopPropagation()
兼容低版本写法: e.cancelBubble = true