小编Her*_* M.的帖子

jquery鼠标移动捕获不准确

我面临一个奇怪的问题.我用以下方法捕捉鼠标移动:

var mmoves = [];
jQuery(document).mousemove(function(event) {
   mmoves.push({x:event.pageX, y:event.pageY})
}
Run Code Online (Sandbox Code Playgroud)

然后我将div附加到页面上,如:

$("body").append('<div id="mouseemul" style="padding:0; margin:0; color: red; background-color: blue; width: 1px; height: 1px;">*</div>');
Run Code Online (Sandbox Code Playgroud)

然后尝试播放动作

它在大多数页面上都可以正常工作,但在某些页面上,播放开始("*"初始位置)一些像素向右(x).y是可以的,但x在右边约120px.在其他页面上它是准确的.在不准确的页面上,当鼠标靠近右侧滚动条时,它会超出右侧页边框并生成水平滚动条.

我认为这与正在播放的页面的某些CSS样式有关.

有没有人知道可能导致这种情况的原因?我怎样才能得到实际的偏移量(如果这些页面有偏移量)?

非常感谢,

埃尔南

- 编辑 - 显然x位移是由于主文档的定位.第一个元素给出$ .position()为0,134,如果我从记录的数据中取消该量,则回放是准确的.问题是这个位移不会发生在每个页面中,我不知道如何找出何时发生位移,何时不知道(通过减去来纠正它).

javascript jquery dom

7
推荐指数
1
解决办法
1213
查看次数

标签 统计

dom ×1

javascript ×1

jquery ×1