在我的example 即使鼠标没有移动但位于容器内,也会触发事件。
var page = $('.Page'),
consoleContainer = $('.Console');
page.mousemove(null, function(e){
var mousePosX = (e.pageX/$(window).width())*100;
consoleContainer.val('mousePos: ' + mousePosX + ' randomNumber: ' + Math.random());
});
我想要的: 如果鼠标不移动但在容器内,则该事件不应起作用
PS:抱歉我的英语水平
最佳答案
您可以保存之前的光标位置,并在触发 mousemove 事件时检查它是否等于当前鼠标位置。
这样的事情应该按预期工作:
var page = $('.Page'), consoleContainer = $('.Console');
var prevPos = '';
page.mousemove(null, function(e)
{
var currPos = e.pageX + '-' + e.pageY;
if (prevPos != currPos)
{
prevPos = currPos;
var mousePosX = (e.pageX / $(window).width()) * 100;
consoleContainer.val('mousePos: ' + mousePosX + ' randomNumber: ' + Math.random());
}
});
关于javascript - 如何仅在鼠标移动时触发mousemove事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24971511/