Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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/2/jquery/72.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/jquery中取消事件mousedown_Javascript_Jquery_Mousedown - Fatal编程技术网

在javascript/jquery中取消事件mousedown

在javascript/jquery中取消事件mousedown,javascript,jquery,mousedown,Javascript,Jquery,Mousedown,我正在做一个拖放操作,当可拖动的对象通过我为屏幕设置的某些限制时,我想将其返回到其原始位置 我的问题是,如果onmousedown事件处于活动状态,则在调用onmousedup事件之前,对象不会返回到其原始位置 可以在鼠标向下运行时取消或停止鼠标向下吗?听起来您应该使用onmousemove事件来查看是否已达到限制,但使用的是onmousedown,正如您所说,它在释放鼠标按钮之前不会触发。当您按下鼠标按钮时,只会触发一次。听起来您应该使用onmousemove事件来查看是否已达到限制,但使用的

我正在做一个拖放操作,当可拖动的对象通过我为屏幕设置的某些限制时,我想将其返回到其原始位置

我的问题是,如果onmousedown事件处于活动状态,则在调用onmousedup事件之前,对象不会返回到其原始位置


可以在鼠标向下运行时取消或停止鼠标向下吗?

听起来您应该使用onmousemove事件来查看是否已达到限制,但使用的是onmousedown,正如您所说,它在释放鼠标按钮之前不会触发。当您按下鼠标按钮时,只会触发一次。听起来您应该使用onmousemove事件来查看是否已达到限制,但使用的是onmousedown,正如您所说,它在释放鼠标按钮之前不会触发。只在按下鼠标按钮时触发一次,当满足特定条件时,可以清除mousemove事件:

function trackMouse(e) {
    if (e.pageX > 200 || e.pageY > 200) {
        // stop execution (event continues to run)
        // alternatively, to detach this event:
        $(window).off('mousemove', trackMouse);
    } else {
        $('#output').html(e.pageX +', '+ e.pageY); 
    }
}

$(window).on('mousemove', trackMouse);​

您可以在满足特定条件时清除mousemove事件:

function trackMouse(e) {
    if (e.pageX > 200 || e.pageY > 200) {
        // stop execution (event continues to run)
        // alternatively, to detach this event:
        $(window).off('mousemove', trackMouse);
    } else {
        $('#output').html(e.pageX +', '+ e.pageY); 
    }
}

$(window).on('mousemove', trackMouse);​

也许你会发现这个插件很有用。它允许您在拖动过程中取消拖动。从其文档中:

每次鼠标单击“Dragnit”和“dragstart”后激发此事件 移动。处理程序可以返回false以停止拖动交互,并 直接进入“dragend”并防止任何“drop”事件。如果 拖动多个元素(从“draginit”中),将触发此事件 在每个元素上都是唯一的

也许你会发现这个插件很有用。它允许您在拖动过程中取消拖动。从其文档中:

每次鼠标单击“Dragnit”和“dragstart”后激发此事件 移动。处理程序可以返回false以停止拖动交互,并 直接进入“dragend”并防止任何“drop”事件。如果 拖动多个元素(从“draginit”中),将触发此事件 在每个元素上都是唯一的


@Voitek Zylinski:你的解决方案是有效的,但我最终找到了这个比我更好的解决方案:

$(document).trigger("mouseup");

谢谢。

@Voitek Zylinski:你的解决方案很有效,但我最终找到了这个对我来说更好的解决方案:

$(document).trigger("mouseup");

谢谢。

onmousedown一旦按下按钮就会触发,一旦松开按钮就会触发onmousedup。我正在使用“.bind('drag',function(event)”从jquery查看对象是否达到限制。thanksonmousedown会在您按下按钮时触发,松开按钮后会触发onmouseup。我正在使用jquery中的“.bind('drag',function(event)”,查看对象是否达到限制。谢谢