day24
事件(下)
-
默认事件
-
系统默认的,可选可不选。如果不需要,可以阻止其发生
-
阻止:通过事件对象身上的
-
e.returnValue = false ; IE独有
-
e.preventDefault() ; 正常浏览器
-
兼容封装函数如下
function stopDefault (e){ if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue = false; } }; //注意传参e
-
-
-
-
事件委托
- 将多个子元素的相同事件,利用事件冒泡委托给共同的页面现存的父元素,通过事件目标找到真正触发事件的子元素,完成事件处理的过程,叫事件委托
- 事件委托的优势:
- 节省内存
- 给页面上暂时不存在的元素绑定事件(给动态html绑定事件)
-
事件源和事件目标
-
事件源:绑定事件的元素
- 必然可以通过this拿到
-
事件目标:触发事件的元素
-
必然可以通过事件对象拿到
var target = e.target || e.srcElement
-
-
-
补充
- 事件对象身上的属性
- e.button
- 配合鼠标的按下事件测试:左,中,右
- e.metaKey
- 系统键(window/command)
- e.button
- 事件对象身上的属性