JavaScript有不同的坐标系统,例如e.clientX,e.screenX。
我对这两个很好理解,但是有些像e.layerX和e.offsetX。这两个对我来说不是很清楚。
有人可以为我解释这两个坐标吗?
最佳答案
offsetX
/offsetY
是Microsoft对鼠标事件对象的巧妙扩展,它表示鼠标指针相对于目标元素的位置。遗憾的是,它们不是由Firefox实现的,其他浏览器之间在起点应该是什么方面存在分歧:IE认为它是内容框,而Chrome,Opera和Safari是填充框(这更有意义,因为它是绝对定位元素的来源相同)。layerX
/layerY
是基于Gecko的浏览器(Firefox等)定义的MouseEvent
对象的属性。有人说它们是offsetX
/offsetY
的替代品,而不是。它们是鼠标相对于“最近定位的元素”的位置,即position
样式属性不是static
的元素。如果它是静态放置的,那不是目标元素。
Chrome和Opera支持它们,但是它们(layerX
/layerY
)are deprecated即将被删除。所以忘掉他们吧。
关于javascript - JavaScript中layerX和offsetX之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23217333/