如果鼠标悬停得很快,Jquery鼠标移动会错过一些单元格

Jquery mousemove missed some cells if hovered very fast

本文关键字:鼠标 错过 单元格 移动 Jquery 悬停 很快 如果      更新时间:2024-01-05

我将鼠标从左向右移动得很快,万一有td无法获得颜色。

这是jsfiddle:http://jsfiddle.net/czL5Loe4/

我已经在文档上放置了mousemove,但有时会跳过该事件,尤其是在移动速度极快时。

$(document).ready(function(){
     $(document).on("mousemove", function(e){
        if (e.which === 1) {
            var cell = $(document.elementFromPoint(e.pageX, 20));            
           if(cell.hasClass("td"))
                cell.addClass("highlighted");
            }
        }       
      );   
});

快速移动时的样本输出:http://gyazo.com/223a2f19f58720fc1d34369233e07533

有什么我可以解决的吗?

如果您只想在这些元素上移动,我会执行以下操作。如果你需要听更多的东西,可以从那里开始工作。

$(document).on({
    mouseenter: function(){
       $(this).addClass("highlighted");
    },
    mouseleave: function(){
       // other stuff if you want
    }
}, '.td'); // down here you pass the selector you wish to target

请参阅此Working Fiddle