以下是解释所有内容的代码:
$('#elem123').mouseenter(function () {
setTimeout(function () {
//what are mouse coords?
}, 650);
});
答案 0 :(得分:4)
在 650毫秒过后,鼠标坐标,并且相对于元素,我猜? (改编自http://docs.jquery.com/Tutorials:Mouse_Position)
<强> See a working demo 强>
var mouseX = 0, mouseY = 0;
$(document).mousemove(function(event) {
mouseX = event.pageX;
mouseY = event.pageY;
});
$('#elem123').mouseenter(function () {
var t = this;
setTimeout(function () {
var localMouseX = mouseX - t.offsetLeft;
var localMouseY = mouseY - t.offsetTop;
}, 650);
});
为什么要使用mousemove
和offsetLeft
?原因是鼠标位置仅在发生此类事件时才可用(并且仅相对于整个页面)。 jQuery没有提供更直接的方法来获取它。
答案 1 :(得分:1)
尝试
$('#elem123').mouseover(function (e) {
var xPos = e.pageX;
var yPos = e.pageY;
setTimeout(function () {
alert(xPos);
alert(yPos);
}, 650);
});