DOM坐标系统

function eventCoord(e) {

var ev = e || event, d = document,

/**

document.compatMode

BackCompat:怪癖模式

CSS1Compat:标准模式

*/

scrollEL = /^b/i.test(d.compatMode) ? d.body : d.documentElement,//IE的兼容模式和标准模式


/*

坐标系统

event.offsetX|e.layerX

event.offsetY|e.layerY

是相对于e.srcElement坐标


e.clientX

e.clientY

相对于窗口(不包括窗口自身的控件和滚动条)


e.x|e.pageX

e.y|e.pageY

相对于父文档的x,y坐标


e.screenX

e.screenY

相对于用户屏幕的坐标

opera(offset,client,x,y,page)

chrome,safari(offset, layer, client, x,y, page)

firefox(layer,client,page,screen)

ie(offset,client,x,y, screen)

*/

sptPage = typeof ev.pageX == 'number',

sptLayer = typeof ev.layerX == 'number';


return {

pageX : sptPage ? ev.pageX : ev.clientX + scrollEL.scrollLeft,

pageY : sptPage ? ev.pageY : ev.clientY + scrollEL.scrollTop,

clientX : ev.clientX,

clientY : ev.clientY,

layerX : sptLayer ? ev.layerX : ev.offsetX,

layerY : sptLayer ? ev.layerY : ev.offsetY

};

}


转载于:https://my.oschina.net/eonezhang/blog/391127

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值