JavaScript --- > 取得鼠标事件的坐标

说明:

  • clientX和clientY属性:事件发生时,鼠标指针在视口中的水平和垂直坐标。
  • pageX和pageY属性:鼠标光标在页面中的位置。
  • screenX和screenY属性:鼠标事件发生时,鼠标指针相对于整个屏幕的坐标信息。
  • IE8及更早的版本不支持事件对象上的页面坐标(pageX,pageY)。
  • EventUtil参考上一篇。
// 取得鼠标事件在页面中的坐标
var div =document.getElementById("myDiv");
EventUtil.addHandler(div, "click", function(event) {
    event = EventUtil.getEvent(event);
    var pageX = event.pageX,
        pageY = event.pageY;
    if (pageX === undefined) {    // 兼容IE8及以下
        pageX = event.clientX + (document.body.scrollLeft || document.document.scrollTop);
    }
    if (pageY === undefined) {
        pageY = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);
    }
    
    alert("Page coordinates: " + pageX + "," + pageY);
});
//取得鼠标事件的屏幕坐标
var div = document.getElementById("maDiv");
EventUtil.addHandler(div, "click", function(event){
    event = EventUtil.getEvent(event);
    alert("Screen coordinates: " + event.screenX + "," + event.screenY);
});

摘自《JavaScript高级程序设计》(第3版) P371

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值