鼠标事件中各种位置

鼠标事件都是在browser中的特定位置发生的,而我们可以通过事件对象event的各种属性获取到鼠标事件发生的位置。
(1)客户区坐标位置
这一位置是相对于视口而言,所谓视口就是你所看到的browser展示页面的大小。不包括browser的菜单栏和滚动条覆盖的部分。

    event.clientX;
    event.clientY;

(2)页面坐标位置(IE8及以下不支持这一属性)
该坐标是相对于页面而言的,页面就是整个网页页面。它包括了滚动条覆盖的页面部分,也不包括browser菜单栏部分。

    event.pageX;
    event.pageY;

a.在无滚动条的情况下,clientX、clientY和pageX、pageY是相同的。
b.若在IE8及以下内想得出页面坐标,则可以使用滚动事件获取滚动信息和客户区坐标

var div=document.getElementById("div");
div.attachEvent('onclick',function(event){
    var pageX=event.pageX;
    var pageY=event.pageY;
    if(pageX==='undefined'){
        pageX=event.clientX+(document.body.scrollLeft||document.documentElement.scrollLeft);
        pageY=event.clientY+(document.body.scrollTop||document.document.documentElement.scrollTop);
}
})

(3)屏幕坐标
该坐标相对于屏幕左上角而言,也就是说和clientX、clientY相比多了browser的菜单栏部分。

event.screenX;
event.screenY

(4)layerX、layerY
这个属性用的相对少点,当元素是绝对定位时(position:absolute),相对于元素自身的左上角定位

event.layerX;
event.layerY;

!<–只是个人总结,如有不对的地方,请尽情喷哈哈哈哈哈–>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值