我想注册一个mousemove
回调,并立即用当前的鼠标x/y位置触发该回调。目前,我这样做:触发JavaScript mousemove而不移动鼠标,但获取鼠标坐标
$('body').mousemove(hoverFunction).mousemove();
但作为记录hoverFunction
的事件接收未定义pageX属性和pageY值。除了有一个更新全局鼠标位置变量的回调函数mousemove
之外,有没有一种干净的方法可以处理这个问题?
我想注册一个mousemove
回调,并立即用当前的鼠标x/y位置触发该回调。目前,我这样做:触发JavaScript mousemove而不移动鼠标,但获取鼠标坐标
$('body').mousemove(hoverFunction).mousemove();
但作为记录hoverFunction
的事件接收未定义pageX属性和pageY值。除了有一个更新全局鼠标位置变量的回调函数mousemove
之外,有没有一种干净的方法可以处理这个问题?
$('body').bind('mousemove',function(e){
hoverFunction(e);
});
$(function(){
$('body').trigger('mousemove');
});
你需要创建一个jQuery.Event
对象,并对其直接设置pageX
和pageY
性能。然后在$(document)
上触发此事件。 See this StackOverflow question.
我认为这仍然有同样的问题。应该在第一行传入的事件(将'function()'更改为'function(e)')没有定义e.pageY或e.pageX。 – Rich