我需要使用(最好)jQuery来保持绝对鼠标位置/坐标(X和Y),就像在this tutorial中一样,但在任何JavaScript事件之外。谢谢。
答案 0 :(得分:47)
不可能。但是,您可以在教程中使用相同的方法将位置存储在全局变量中,并在事件外部读取它。
像这样:
jQuery(document).ready(function(){
$().mousemove(function(e){
window.mouseXPos = e.pageX;
window.mouseYPos = e.pageY;
});
})
现在,您可以随时随地使用window.mouseXPos
和window.mouseYPos
。
答案 1 :(得分:29)
这最初是对Chetan Sastry's answer的评论,但我意识到它也可能值得作为答案发布:
即使您只是轮询光标位置,我也要小心拥有一个文档级的,始终在运行的mousemove
事件。这是一个很大的处理,可能会使任何浏览器陷入困境,特别是像IE这样的慢速浏览器。
这样的问题几乎肯定会引发设计决策的问题:如果你不需要处理鼠标事件来轮询光标位置,你真的需要光标位置吗?有没有更好的方法来解决你想要解决的问题?
编辑:即使在Safari 4中,这是(低估)非常快,单个mousemove
事件使得与该教程页面的每次互动对我来说都明显不稳定。想一想这将如何影响用户对您网站或应用程序的看法。
答案 2 :(得分:10)
答案 3 :(得分:1)
我试过@Chetan Sastry的洗礼,但它不起作用。(我正在使用jQuery 1.6.4)。我改变了代码然后我现在工作。这是我的代码。我希望这会有所帮助。
$(document).ready(function(){
$(document).mousemove(function(e){
window.mouseXPos = e.pageX;
window.mouseYPos = e.pageY;
});
});