Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中检测mouseDown、drag和mouseUp事件的最佳方法是什么?_Javascript_Cross Browser_Mouseevent - Fatal编程技术网

在JavaScript中检测mouseDown、drag和mouseUp事件的最佳方法是什么?

在JavaScript中检测mouseDown、drag和mouseUp事件的最佳方法是什么?,javascript,cross-browser,mouseevent,Javascript,Cross Browser,Mouseevent,在JavaScript中检测mouseDown、drag和mouseUp事件的最佳方法是什么 我想在一个网站中使用拖拽输入,在这个网站中,用户点击并拖拽,但实际上没有任何东西被拖拽到DOM所能达到的程度 在浏览器中单击并拖动鼠标时,有时未检测到鼠标悬停。 有时,如果用户点击某些内容,这些内容会被抓取并拖入Firefox,尽管我怀疑这可能是浏览器特有的问题。我想以某种方式阻止这种行为 同样在Chrome中,我注意到有时在拖动时会出现一个类似于图标的页面。我也要防止这种情况。开发/测试操作系统是Ub

在JavaScript中检测mouseDown、drag和mouseUp事件的最佳方法是什么

我想在一个网站中使用拖拽输入,在这个网站中,用户点击并拖拽,但实际上没有任何东西被拖拽到DOM所能达到的程度

在浏览器中单击并拖动鼠标时,有时未检测到鼠标悬停。 有时,如果用户点击某些内容,这些内容会被抓取并拖入Firefox,尽管我怀疑这可能是浏览器特有的问题。我想以某种方式阻止这种行为

同样在Chrome中,我注意到有时在拖动时会出现一个类似于图标的页面。我也要防止这种情况。开发/测试操作系统是Ubuntu


如何才能最好地使用鼠标跟踪拖动,同时防止这些奇怪的浏览器问题,并在这些事件似乎间歇性失败时拥有可靠的mouseUp事件?

尝试以下方法:

document.addEventListener( 'mousedown', onMouseDown, false );

function onMouseDown(e) {
    e.preventDefault(); //prevents browser to follow links or move images
    // code to execute on mouse click
}

document.addEventListener( 'mousemove', onMouseMove, false );

function onMouseMove(e) {
    // code to execute on mouse mouse move
}

document.addEventListener( 'mouseup', onMouseUp, false );

function onMouseUp(e) {
    // code to execute on mouse mouse up
}
这可能会阻止您单击链接,您必须添加代码以克服此问题,例如:

$('a').click(function() {
   window.location = this.href;
}

这是我脑海中的代码,应该接近您所需要的。

谢谢。它解决了我所有的阻力问题。我仍然能够点击链接,虽然这是更好的。