js鼠标事件中的clientX/clientY,screenX/screenY,pageX/pageY,offsetX/offsetY,layerX/layerY,x/y

clientX/clientY,screenX/screenY

这两组是标准,一般用这两组,就没问题了

clientX/clientY

相对于目标可视区的坐标,不包括边框,不会随滚动条变化

screenX/screenY

位置相对于用户屏幕

============================================================

下面是其他属性的兼容情况

注意ie最高只测试到ie9,火狐最高只测试到火狐40

offsetX/offsetY
相对于目标(target),而非currentTarget
ie
ie6,ie7
相对于目标文档的坐标,不包括边框,会随滚动条变化
ie8,ie9
相对于目标可视区的坐标,不包括边框,不会随滚动条变化(和火狐相同)
火狐
火狐34以下不支持
火狐40
相对于目标可视区的坐标,不包括边框,不会随滚动条变化(和ie8,ie9)
chrome,safari
相对于目标可视区的坐标,包括边框,不会随滚动条变化
opera
相对于目标可视区的坐标,不会随滚动条变化,不包括边框和padding,
低版本的opera点到文本节点的话target是文本节点(相对于文本节点),
opera换内核以后和chrome相同


x/y
ie6,ie7,ie9,chrome,safar,opera
相对于可视区的坐标,不会随滚动条变化
ie8 相对于文档的坐标,会随滚动条变化
火狐40不支持,,更高版本不知道


layerX/layerY
ie6789
不支持
火狐 相对于文档的坐标,会随滚动条变化
chrome,safar 相对于可视区的坐标,不会随滚动条变化
opera  不支持(opera换内核以后和chrome相同)


pageX/pageY
ie6789
不支持
chrome,safar,opera,firefox  相对于文档的坐标,会随滚动条变化

isTrusted : true altKey : false altitudeAngle : 1.5707963267948966 azimuthAngle : 0 bubbles : true button : 0 buttons : 0 cancelBubble : false cancelable : true clientX : 647 clientY : 293 composed : true ctrlKey : false currentTarget : null defaultPrevented : false detail : 1 eventPhase : 0 fromElement : null height : 1 isPrimary : false layerX : 432 layerY : 15 metaKey : false movementX : 0 movementY : 0 offsetX : 10 offsetY : 4 pageX : 647 pageY : 293 persistentDeviceId : 0 pointerId : 1 pointerType : "mouse" pressure : 0 relatedTarget : null returnValue : true screenX : 647 screenY : 414 shiftKey : false sourceCapabilities : InputDeviceCapabilities {firesTouchEvents: false} srcElement : i.el-icon-view tangentialPressure : 0 target : i.el-icon-view tiltX : 0 tiltY : 0 timeStamp : 3565.7000000029802 toElement : null twist : 0 type : "click" view : Window {window: Window, self: Window, document: document, name: '', location: Location, …} which : 1 width : 1 x : 647 y : 293 [[Prototype]] : PointerEvent altitudeAngle : 1.5707963267948966 azimuthAngle : 0 getCoalescedEvents : ƒ getCoalescedEvents() getPredictedEvents : ƒ getPredictedEvents() height : 1 isPrimary : false persistentDeviceId : 0 pointerId : 1 pointerType : "mouse" pressure : 0 tangentialPressure : 0 tiltX : 0 tiltY : 0 twist : 0 width : 1 constructor : ƒ PointerEvent() Symbol(Symbol.toStringTag) : "PointerEvent" altKey : false bubbles : true button : 0 buttons : 0 cancelBubble : (…) cancelable : (…) clientX : (…) clientY : (…) composed : (…) ctrlKey : (…) currentTarget : (…) defaultPrevented : (…) detail : (…) eventPhase : (…) fromElement : (…) layerX : (…) layerY : (…) metaKey : (…) movementX : (…) movementY : (…) offsetX : (…) offsetY : (…) pageX : (…) pageY : (…) relatedTarget : (…) returnValue : (…) screenX : (…) screenY : (…) shiftKey : (…) sourceCapabilities : (…) srcElement : (…) target : (…) timeStamp : (…) toElement : (…) type : (…) view : Window which : 1 x : 647 y : 293 get altitudeAngle : ƒ altitudeAngle() get azimuthAngle : ƒ azimuthAngle() get height : ƒ height() get isPrimary : ƒ isPrimary() get persistentDeviceId : ƒ persistentDeviceId() get pointerId : ƒ pointerId() get pointerType : ƒ pointerType() get pressure : ƒ pressure() get tangentialPressure : ƒ tangentialPressure() get tiltX : ƒ tiltX() get tiltY : ƒ tiltY() get twist : ƒ twist() get width : ƒ width() [[Prototype]] : MouseEvent没有id字段为什么能获取id
最新发布
10-08
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值