event事件坐标详解(clientx, offsetx, screenX等)
鼠标事件(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等)相关推荐
- javascript中window.event事件用法详解
前两天写程序时因为要用到javascript中的window.event事件,于是就在网上搜了一下,终于找到一篇不错的文章,来与大家分享下: 描述 event代表事件的状态,例如触发event对 ...
- JS中window.event事件使用详解
一.描述 event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如:from ...
- 【js】event(事件对象)详解
1.事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 什么时候会产生Event 对象呢? 例如: 当用户单击某个元素的时候,我们给这个元 ...
- 区分event对象中的[clientX,offsetX,screenX,pageX]
前言 在平时的开发中,非常讨厌的就是兼容性了,兼容性的问题总会让我们记忆混淆,所以这次来区分一下event对象中的常用获取鼠标位置. clientX clientY event.clientX eve ...
- zabbix Event acknowledgment事件确认详解以及一般填写什么内容
1,概述 以往服务器出现报警,运维人员处理完事之后,报警自动取消,但是下一次出现同样一个错误,但是换了一个运维人员,他可能需要重新排查问题,直到问题处理完毕.针对这种情况,zabbix提供了event ...
- Android事件流程详解
Android事件流程详解 网络上有不少博客讲述了android的事件分发机制和处理流程机制,但是看过千遍,总还是觉得有些迷迷糊糊,因此特地抽出一天事件来亲测下,向像我一样的广大入门程序员详细讲述an ...
- 委托与事件代码详解与(Object sender,EventArgs e)详解
委托与事件代码详解 using System; using System.Collections.Generic; using System.Text; namespace @Delegate //自 ...
- mysql binlog event_MySQL binlog中的事件类型详解
MySQL binlog记录的所有操作实际上都有对应的事件类型的,譬如STATEMENT格式中的DML操作对应的是QUERY_EVENT类型,ROW格式下的DML操作对应的是ROWS_EVENT类型. ...
- binlog事件类型详解
MySQL binlog记录的所有操作实际上都有对应的事件类型的,譬如STATEMENT格式中的DML操作对应的是QUERY_EVENT类型,ROW格式下的DML操作对应的是ROWS_EVENT类型. ...
最新文章
- .bashrc文件在哪?
- C# 调用cmd执行指令
- POJ-3635 Full Tank? 变形最短路
- 使用熔断器设计模式保护软件
- 首次公开,用了三年的 pandas 速查表!
- 10-2-DBUtils工具
- typescript + react 项目开发体验之起手式
- python 爬虫爬取内容时, \xa0 、 \u3000 的含义与处理方法
- CIA:要破解最新iPhone/iOS我们也没辙
- ssm-学子商城-项目第十二天
- k2p 登录路由器shell失败_斐讯p.to打不开_p.to进不去怎么办?-192路由网
- 微信开发之图灵机器人API接口调用
- 用计算机如何打对数,怎样使用科学计算器计算对数?
- 《Predicting Loose-Fitting Garment Deformations Using Bone-Driven Motion Networks》Reading Notes
- 微信小程序实战 wx.showNavigationBarLoading(),下拉动画配置无效
- 无所不能的python是如何解决程序员的终身大事的?
- 使用时testng报错问题解决方案
- xgen 毛发guide历史被清理解决方法
- aspx如何获取aspx.cs中定义的变量、方法;
- Android 13:一文看懂两大重磅升级