事件冒泡与捕获
![](https://i-blog.csdnimg.cn/blog_migrate/40352d86b6cee33b664f03141ba2fd39.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c5573af969e90dcfeb06781d3593c9c9.png)
阻止事件冒泡的传播
![](https://i-blog.csdnimg.cn/blog_migrate/0daf836b5b37a4ed2987765e7b8b9aab.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c42bb92945431c43f47c47be1fac9249.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ea37ced6d41c792d695ad475d40a0acc.png)
事件委托
![](https://i-blog.csdnimg.cn/blog_migrate/960b8f7ec17e60f09b0a707b00a99d71.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0a5f94396b5cca77bbc623f23498a7e5.png)
var oUl = document.querySelector('ul')
oUl.onclick = function (e) {
if (e.target.nodeName === 'LI') {
console.log('我是 li 标签, 我被点击了~~~')
}
}
如何阻止默认行为(右键单击)
![](https://i-blog.csdnimg.cn/blog_migrate/e8e65855796ec817121548c55e830ad5.png)
<form>
<input type="text">
<input type="submit">
</form>
</body>
var form = document.querySelector('form')
form.addEventListener('submit',function (e) {
e = e || window.event
// 阻止默认行为
try{
e.preventDefault()
} catch(err) {
e.returnValue = false
}
// e.preventDefault()
console.log('该函数执行, 拦截掉了 submit的提交行为');
})