事件模型:捕获,触发,冒泡
a. 捕获: 从document根节点开始,到当前点击的元素结束,由外向内依次记录当前点击的元素的各级父元素上绑定的相同事件的处理函数都有哪些。——只记录不执行
b. 目标触发: 总是优先触发目标元素上的事件处理函数
1). 目标元素(target): 最初本意想点的那个元素!
c. 冒泡: 从当前目标元素开始,到顶级document结束,依次由内向外反向触发捕获阶段记录的各级父元素上的事件处理函数!
事件对象:事件发生时浏览器自动创建,保存事件相关信息,事件对象默认为事件函数第一个参数传入
作用:获得事件信息或者改变事件默行为或过程
实际运用:取消冒泡;事件委托;阻止默认行为;获取鼠标位置(e.screenX—屏幕; e.clientX—浏览器文档;e.offsetX—触发事件元素)
事件委托:
1.运用场景:----多个平级子元素,绑定相同事件
2.步骤:
第一步: 只将事件绑定在父元素上一份即可!
第二步: 用e.target代替this,获得最初点击的目标元素!
Var this=e.target
1). this会随冒泡而改变
2). e.target一旦保存住最初的目标元素,就不会随冒泡而改变!
第三步 判断e.target是我们想要的元素
If(e.target.is(“大写的标签名,或者className,自定义属性,内容等”){})