鼠标事件(e=e||window.event)

event.clientX、event.clientY    (相对浏览器窗口)

//鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性
function getMousePos(event) {var e = event || window.event;return {'x':e.clientX,'y':clientY}
}

clientX与clientY获取的是相对于当前屏幕的坐标,忽略页面滚动因素 

event.offsetX、event.offsetY

鼠标相对于事件源元素(srcElement)的X,Y坐标,只有IE事件有这2个属性,标准事件没有对应的属性。

event.screenX、event.screenY (相对于屏幕)

//鼠标相对于用户显示器屏幕左上角的X,Y坐标。标准事件和IE事件都定义了这2个属性
function getMousePos(event) {var e = event || window.event;return {'x':e.screenX,'y':screenY}
}

event.pageX、event.pageY  (相对文档)  考虑到滚动条的情

//类似于event.clientX、event.clientY,但它们使用的是文档坐标而非窗口坐标。这2个属性不是标准属性,但得到了广泛支持。IE事件中没有这2个属性。 function getMousePos(event) {var e = event || window.event;var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;var scrollY = document.documentElement.scrollTop || document.body.scrollTop;var x = e.pageX || e.clientX + scrollX;var y = e.pageY || e.clientY + scrollY;alert('x: ' + x + '\ny: ' + y);}

layerX (据我所知并不常用  火狐FF特有)

鼠标相比较于当前坐标系的位置,即如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有,将改变参考坐标系,从触发元素盒子模型的border区域的左上角为参考点
也就是当触发元素设置了相对或者绝对定位后,layerX和offsetX就幸福地生活在一起^-^,几乎相等,唯一不同就是一个从border为参考点,一个以内容为参考点

详细信息看下图

event事件坐标详解(clientx, offsetx, screenX等)相关推荐

  1. javascript中window.event事件用法详解

    前两天写程序时因为要用到javascript中的window.event事件,于是就在网上搜了一下,终于找到一篇不错的文章,来与大家分享下:  描述   event代表事件的状态,例如触发event对 ...

  2. JS中window.event事件使用详解

    一.描述 event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如:from ...

  3. 【js】event(事件对象)详解

    1.事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 什么时候会产生Event 对象呢? 例如: 当用户单击某个元素的时候,我们给这个元 ...

  4. 区分event对象中的[clientX,offsetX,screenX,pageX]

    前言 在平时的开发中,非常讨厌的就是兼容性了,兼容性的问题总会让我们记忆混淆,所以这次来区分一下event对象中的常用获取鼠标位置. clientX clientY event.clientX eve ...

  5. zabbix Event acknowledgment事件确认详解以及一般填写什么内容

    1,概述 以往服务器出现报警,运维人员处理完事之后,报警自动取消,但是下一次出现同样一个错误,但是换了一个运维人员,他可能需要重新排查问题,直到问题处理完毕.针对这种情况,zabbix提供了event ...

  6. Android事件流程详解

    Android事件流程详解 网络上有不少博客讲述了android的事件分发机制和处理流程机制,但是看过千遍,总还是觉得有些迷迷糊糊,因此特地抽出一天事件来亲测下,向像我一样的广大入门程序员详细讲述an ...

  7. 委托与事件代码详解与(Object sender,EventArgs e)详解

    委托与事件代码详解 using System; using System.Collections.Generic; using System.Text; namespace @Delegate //自 ...

  8. mysql binlog event_MySQL binlog中的事件类型详解

    MySQL binlog记录的所有操作实际上都有对应的事件类型的,譬如STATEMENT格式中的DML操作对应的是QUERY_EVENT类型,ROW格式下的DML操作对应的是ROWS_EVENT类型. ...

  9. binlog事件类型详解

    MySQL binlog记录的所有操作实际上都有对应的事件类型的,譬如STATEMENT格式中的DML操作对应的是QUERY_EVENT类型,ROW格式下的DML操作对应的是ROWS_EVENT类型. ...

最新文章

  1. .bashrc文件在哪?
  2. C# 调用cmd执行指令
  3. POJ-3635 Full Tank? 变形最短路
  4. 使用熔断器设计模式保护软件
  5. 首次公开,用了三年的 pandas 速查表!
  6. 10-2-DBUtils工具
  7. typescript + react 项目开发体验之起手式
  8. python 爬虫爬取内容时, \xa0 、 \u3000 的含义与处理方法
  9. CIA:要破解最新iPhone/iOS我们也没辙
  10. ssm-学子商城-项目第十二天
  11. k2p 登录路由器shell失败_斐讯p.to打不开_p.to进不去怎么办?-192路由网
  12. 微信开发之图灵机器人API接口调用
  13. 用计算机如何打对数,怎样使用科学计算器计算对数?
  14. 《Predicting Loose-Fitting Garment Deformations Using Bone-Driven Motion Networks》Reading Notes
  15. 微信小程序实战 wx.showNavigationBarLoading(),下拉动画配置无效
  16. 无所不能的python是如何解决程序员的终身大事的?
  17. 使用时testng报错问题解决方案
  18. xgen 毛发guide历史被清理解决方法
  19. aspx如何获取aspx.cs中定义的变量、方法;
  20. Android 13:一文看懂两大重磅升级

热门文章

  1. 小米9/9 SE于3月19日开放购买!雷军:螺丝刀已备好,百万出货
  2. Debugging RJS
  3. windows10 训练word2vec 中文语料
  4. Android 从WebServer 获取PDF转图片
  5. 在滴滴云快速搭建自己的简易服务集群(入门版)
  6. Unity3d开发之十二:邮箱正则验证js和c#
  7. 传说之下三重审判用计算机怎么弹,传说之下三重审判无限血
  8. 秦观 满庭芳-山抹微云 改阳韵
  9. c语言禁用键盘,C/C++ 禁用鼠标键盘
  10. 微信公众平台测试号登录入口地址