您好,欢迎访问一九零五行业门户网

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

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的问题。
其它类似信息

推荐信息