关于js鼠标事件综合各大浏览器能获取到坐标的属性总共以下五种

  • event.clientX/Y
  • event.pageX/Y
  • event.offsetX/Y
  • event.layerX/Y
  • event.screenX/Y

clientX/Y:

clientX/Y获取到的是触发点相对浏览器可视区域左上角距离,不随页面滚动而改变

兼容性:所有浏览器均支持

pageX/Y:

pageX/Y获取到的是触发点相对文档区域左上角距离,会随着页面滚动而改变

兼容性:除IE6/7/8不支持外,其余浏览器均支持

offsetX/Y:

offsetX/Y获取到是触发点相对被触发dom的左上角距离,不过左上角基准点在不同浏览器中有区别,其中在IE中以内容区左上角为基准点不包括边框,如果触发点在边框上会返回负值,而chrome中以边框左上角为基准点。

兼容性:IE所有版本,chrome,Safari均完美支持,Firefox不支持

layerX/Y:

layerX/Y获取到的是触发点相对被触发dom左上角的距离,数值与offsetX/Y相同,这个变量就是firefox用来替代offsetX/Y的,基准点为边框左上角,但是有个条件就是,被触发的dom需要设置为position:relative或者position:absolute,否则会返回相对html文档区域左上角的距离

兼容性:IE6/7/8不支持,opera不支持,IE9/10和Chrome、Safari均支持

screenX/Y:

screenX/Y获取到的是触发点相对显示器屏幕左上角的距离,不随页面滚动而改变

兼容性:所有浏览器均支持

最新文章

  1. 跟着老男孩教育学Python开发【第三篇】:Python函数
  2. php获取网卡MAC地址源码
  3. servle
  4. WCF消息拦截,利用消息拦截做身份验证服务
  5. 《DSP using MATLAB》示例Example4.9
  6. Python: 关于nose
  7. 2-sat按照最小字典序输出可行解(hdu1814)
  8. linux日志处理logrotate使用
  9. Android源代码下载方法具体解释
  10. 玩转ButterKnife注入框架
  11. Solr总结
  12. Android视频录制
  13. jQuery中queue和dequeue的用法
  14. 基于MATLAB的人脸识别算法的研究
  15. 第十章:Python の 网络编程基础(二)
  16. webstorm 2018.1 激活码 2018.4.8日更新
  17. ;。【】DAY14、递归,匿名函数
  18. 中兴F660光猫改桥接
  19. JSP概述
  20. 004.NTP多层级架设

热门文章

  1. VS2010静态编译生成.exe可执行文件
  2. 数据结构-AVL树
  3. Problem A 栈
  4. sql左连接,右连接,内连接
  5. java基础之 溢出
  6. C++学习 之const
  7. Ubuntu 14.10 下NodeJS Cannot find module 'npmlog'
  8. (转)HTML 5离线存储之Web SQL
  9. Linux环境给文件重命名
  10. WCF之多个协定