基本概念:Dom事件的级别
- Dom0 级别 element.onclick=function() {}
- Dom1 没有制定事件相关的
- Dom2 element.addEventListener("click" function() {} , false//捕获还是冒泡)
- Dom3 element.addEventListener("keyup" function() {} , false//捕获还是冒泡) 新增鼠键盘事件
DOM事件模型:捕获 冒泡
捕获:从上往下
冒泡:当前元素往上
DOM事件流
浏览器在为当前页面与用户交互 比如鼠标左键响应 如何传到页面 响应
1.事件通过捕获
2.目标元素(目标阶段)
3.上传到window对象(冒泡)
DOM事件捕获的具体流程
第一个接受到事件的对象 window
-----document-----html标签----body---父级元素--子---目标元素
Event对象的常见应用 // 1事件原理 2怎么注册 监听 3响应event常见应用
event.preventDefault()阻止默认事件
event.stopPropagation() 阻止冒泡
event。stopimmediatePropagation()两个click事件 A中注册这个 阻止Bclick事件
event.currentTarget //for循环dom注册事件 如何优化 子元素事件代理到父元素
event.target
自定义事件(模拟事件)
var eve = new Event("custome")
ev.addEventListener("custome",function)
ev.dispatchEvent(eve) //触发事件