事件对象
https://developer.mozilla.org/zh-CN/docs/Web/API/Event
兼容写法
在IE8中及以下,响应函数被触发时,浏览器不会传递事件对象,是作为window对象的属性保存
element.addElementListener('mousemove',function(e){
e = e || window.event;
})
常用属性
-
e.type :
返回事件类型 如"click mouseover...不带on" -
e.target
返回事件源 (兼容IE8以下e.srcElement
) -
e.currentTarget
事件绑定在谁身上就返回谁 -
e.stopPropagation()
阻止冒泡 (兼容IE8以下e.cancelBubble=true
) -
e.preventDefault()
阻止默认行为 (兼容IE8以下e.returnValue=false
)
MouseEvent
https://developer.mozilla.org/zh-CN/docs/Web/API/MouseEvent
-
clientX
鼠标相对浏览器视口的X坐标 不包括滚动条滚动距离。 -
clientY
鼠标相对浏览器视口的Y坐标 不包括滚动条滚动距离。 -
pageX
鼠标相对页面的Y坐标 包括滚动条滚动距离。 不支持IE8及以下 -
pageY
鼠标相对页面的Y坐标 包括滚动条滚动距离 不支持IE8及以下
/*兼容写法 chrome认为滚动条在body上 火狐认为html上
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
var scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
element.style.left = e.clientX+scrollLeft+"px";
element.style.top = e.clientY+scrollTop+"px";
*/
-
offsetX
//鼠标在触发事件的元素内的X坐标 -
offsetY
//鼠标在触发事件的元素内的Y坐标 -
screenX
// 鼠标指针相对于物理屏幕的X坐标 -
screenY
// 鼠标指针相对于物理屏幕的Y坐标
KeyboardEvent
https://developer.mozilla.org/zh-CN/docs/Web/API/KeyboardEvent
-
keyCode
48-57 96-105为0-9数字code -
charCode
返回 ascii码 keypress 按下字符键,更适用于使用 charCode(字符码),而不是keyCode 参考11分
-
altKey
如果在生成按键事件时<Alt ( 或 OS X 的 Option) 处于活动状态,则返回一个Boolean
网友评论