触发焦点/模糊事件时获取鼠标位置? – Javascript / jQuery
我正在使用jquery来捕捉一个事件:
$('input').focus(function(e){ console.log( e.pageX, e.pageY ); });
这似乎不起作用……有关获得鼠标位置的其他方法的任何想法?
帮助会很棒,谢谢:)
您只能使用鼠标事件获取鼠标坐标。 如果要捕获鼠标的位置,可以使用全局mousemove
事件侦听器,并将坐标存储在一组变量中,稍后可以通过focus
函数访问这些变量。 例:
var pageX, pageY; //Declare these globally $(window).mousemove(function(e){ pagex = e.pageX; pageY = e.pageY; }); $('input').focus(function(){ console.log(pageX, pageY); // These variables have been defined by the global // mousemove event });
如果你想要获得相对于元素的位置,请尝试这样的事情:
$("input").focus(function(e){ var relativeX = e.pageX - this.offsetLeft; var relativeY = e.pageY - this.offsetTop; });