如果鼠标移动太快,使用鼠标移动处理程序拖动元素将停止跟踪

Dragging an element with mousemove handler stops tracking if mouse moves too quickly

本文关键字:鼠标 移动 拖动 程序 元素 停止跟踪 处理 如果      更新时间:2023-09-26

我已经设置了一个mousemove处理程序来拖动元素。但是,如果移动光标太快,它将失去对元素的跟踪,并且在您将光标移回元素上之前不会再移动它。

这是一个JSFiddle演示。

它为什么要这样做?

 $this.on("mousemove.partmove touchmove", function(e){
     e.preventDefault();
     var moveL = e.clientX; 
     var moveT = e.clientY;
     console.log("mov " + (moveT-vOffset) );
     $this.css({"left": moveL-hOffset, "top": moveT-vOffset});
 });

我遇到了同样的问题。我唯一做的是为其父元素定义 MouseMove 事件。这样,即使您快速移动指针,它也可以跟踪指针的位置。