`
烟的傀儡
  • 浏览: 27654 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析

阅读更多

screenX:鼠标在显示屏幕上的坐标。 
clientX:鼠标在页面显示区域的坐标。 
注:以上两个都是各浏览器通用的。 
pageX:FF特有,鼠标在页面上的位置,从页面左上角开始定位,这个可以很方便在整个页面上进行定位,IE没有直接替换的属性。 
layerX:FF特有,鼠标相对于“触发事件的元素的层级关系中离该元素最近的,设置了position的父元素”的边界的位置,从border的左上角开始定位,即如果这个父元素存在border,则坐标原点在border的左上角,而不是内容区域的左上角。 
offsetX:IE特有,鼠标相对于“触发事件的元素”的位置,从内容区域左上角开始定位,不是从border左上角开始!这个属性比较好用,用来判断鼠标点在一个元素中的哪个位置很方便,FF没有直接替换的属性。 
x:IE特有,跟layerX一个效果,可作为layerX的直接替换属性。 
注:IE和FF的定位有个1px的差别,实际上,IE的定位从0开始,FF的定位从1开始,FF永远会比IE大1px,需要根据实际情况处理。 
offsetLeft:这个属性不是事件对象的属性,而是DOM对象所有的,该属性表示的是DOM对象在“该DOM对象的层级关系中离该对象最近的,设置了position的父对象”中的位置,虽然话是这么说的,但是不同的浏览器效果不一样,FF中严格按上述说明执行,但是在IE6/7中,这个属性返回该DOM对象在其直接父对象中的位置,但是IE8改正了这个问题,不过IE8又有了一个新问题,其他的浏览器都是从父对象的内容区域的左上角开始定位,IE8确是从父元素的border的左上角开始定位,由于测试环境为IETester中的IE8,不能排除是IETester的问题。

转载:http://www.codesky.net/article/doc/201004/20100417044073.htm

分享到:
评论
1 楼 libmw 2011-11-09  
ie真是搞死人

相关推荐

    [转]分析x,offsetX clientX screenX,pageX,y,offsetY clientY screenY,pageY之间的区别

    在JavaScript中,处理鼠标事件时,经常会遇到一系列与鼠标位置相关的属性,如`x`, `offsetX`, `clientX`, `screenX`, `pageX`, `y`, `offsetY`, `clientY`, `screenY`, `pageY`等。这些属性在不同的上下文下提供了...

    offsetLeft与clientX的含义1

    在JavaScript中,`offsetLeft`和`clientX`是两个非常重要的属性,它们在处理网页元素定位和事件处理时起到关键作用。理解这两个属性的含义和用法对于前端开发至关重要。 首先,`HTMLElement.offsetLeft`是HTML元素...

    鼠标事件clientX、clientY

    clientX、clientY、pageX、pageY、screenX、screenY、offsetX、offsetY

    event.x,event.clientX,event.offsetX区别

    clientX:相对于客户区域的x坐标位置,不包括滚动条,就是正文区域。 offsetx:设置或者是得到鼠标相对于目标事件的父元素的内边界在x坐标上的位置。 screenX:相对于用户屏幕。测试代码一:[code] <html> <...

    event.X和event.clientX的区别分析

    event.clientX返回事件发生时,mouse相对于客户窗口的X坐标 event.X也一样 但是如果设置事件对象的定位属性值为relative event.clientX不变 而event.X返回事件对象的相对于本体的坐标 event对象详解 ICOOE 2000.3.31 ...

    JS中坐标表示方法的异同

    本文将详细介绍`clientX`、`screenX`、`pageX`、`offsetX`等坐标系统的概念及其差异,并通过实例来帮助理解这些概念。 #### 二、`pageX`与`pageY` **定义:** `pageX`与`pageY`表示鼠标相对于整个文档的X轴和Y轴的...

    前端练习题前端练习题前端练习题周考.docx

    事件对象 event 的属性包括 clientX、offsetX、target 等,而不是 offsetLeft。onlook 事件不存在。函数中的 this 指向全局对象 window。数组的排序可以使用 sort() 方法,但数组的排序规则是根据字符串的 Unicode ...

    JavaScript第九天.xmind

    4.offsetX,offsetY(鼠标相对于事件源元素的x,y坐标) 元素的offset属性: 1.offsetTop: 元素相对父元素上边的偏移。(只读) 2.offsetLeft: 元素相对父元素左边的偏移。(只读) 3.offsetWidth: 自身包括padding...

    【JavaScript源代码】教你javascript如何获取指针的位置.docx

    通过结合`pageX/pageY`、`clientX/clientY`、`scrollLeft/scrollTop`以及`offsetX/offsetY`或`layerX/layerY`,我们可以编写兼容不同浏览器的函数,获取鼠标在页面或元素内的精确位置。这在实现动态效果、交互式界面...

    可拖动的table

    o.x = e.clientX - rDrag.o.offsetLeft; o.y = e.clientY - rDrag.o.offsetTop; document.onmousemove = rDrag.move; document.onmouseup = rDrag.end; }, move:function(e){ e = rDrag.fixEvent(e); var o...

    event对象总结,更详细更全面

    * layerX和layerY:事件发生时鼠标相对于目标元素的父元素的X/Y坐标 * pageX和pageY:事件发生时鼠标相对于网页的X/Y坐标 * clientX和clientY:事件发生时鼠标相对于浏览器左上角的X/Y坐标 * screenX和screenY:事件...

    JavaScript中获取鼠标位置相关属性总结

    在现代浏览器中,推荐使用clientX和clientY来获取鼠标在视窗内的位置,使用pageX和pageY来获取鼠标在整个文档中的位置,而对于IE9及更新的浏览器,layerX和layerY是替代offsetX和offsetY的不错选择。在设计跨浏览器...

    整理的比较全的event对像在ie与firefox浏览器中的区别

    FF:event.pageX和event.pageY。 通用:两者都有event.clientX和event.clientY属性。 鼠标当前坐标(加上滚动条滚过的距离) IE:event.offsetX和event.offsetY。 FF:event.layerX和event.layerY。 标签的x和y的坐标...

    Javascript下IE与Firefox下的差异兼容写法总结

    FF:event.pageX和event.pageY。 通用:两者都有event.clientX和event.clientY属性。 鼠标当前坐标(加上滚动条滚过的距离) IE:event.offsetX和event.offsetY。 FF:event.layerX和event.layerY。 标签的x和y的坐标...

    原生JS实现拖拽图片效果

    首先,我们要了解在JavaScript事件处理中,event对象提供了几个与鼠标位置相关的属性,它们分别是clientX、offsetX、screenX和pageX。这些属性在处理拖拽操作时起着至关重要的作用: 1. clientX:表示鼠标相对于...

    JS小功能(offsetLeft实现图片滚动效果)实例代码

    该文件提供了利用JavaScript中的offsetLeft属性实现图片水平滚动效果的实例代码。下面,我们将详细解释涉及到的相关知识点,包括HTML、CSS和JavaScript的使用。 首先,HTML部分使用了`<div>`元素定义了一个容器(id...

    Javascript元素位置、大小、鼠标定位操作

    4. x 和 y:一般情况下,这两个属性与 clientX、clientY 相似,但有所不同。 二、DOM 对象 DOM 对象提供了多个属性来获取元素的位置、大小等信息。其中包括: 1. offsetTop 和 offsetLeft:获取元素相对于其 ...

Global site tag (gtag.js) - Google Analytics