Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
使用jQuery单击或双击可拖动的元素?_Jquery_Jquery Ui_Click_Double_Jquery Ui Draggable - Fatal编程技术网

使用jQuery单击或双击可拖动的元素?

使用jQuery单击或双击可拖动的元素?,jquery,jquery-ui,click,double,jquery-ui-draggable,Jquery,Jquery Ui,Click,Double,Jquery Ui Draggable,我希望能够单击或双击一个元素,也可以拖动。如何做到这一点?我尝试过各种各样的click()、dblclick()和其他方法,到目前为止都没有成功 我目前有一个比较mouseup和mousedown事件之间毫秒数的笨拙解决方法,但这仍然要求元素至少拖动一个像素 我希望能够像按钮一样正常地单击它,而不必先拖动它。假设您不介意使用子元素来接收可拖动外部元素的单击,那么可以采取以下方法: $('#draggableDiv').draggable( { cancel : 'a'

我希望能够单击或双击一个元素,也可以拖动。如何做到这一点?我尝试过各种各样的click()、dblclick()和其他方法,到目前为止都没有成功

我目前有一个比较mouseup和mousedown事件之间毫秒数的笨拙解决方法,但这仍然要求元素至少拖动一个像素


我希望能够像按钮一样正常地单击它,而不必先拖动它。

假设您不介意使用子元素来接收可拖动外部元素的单击,那么可以采取以下方法:

$('#draggableDiv').draggable(
   {
       cancel : 'a'
   });

cancel
选项使用CSS/jQuery选择器来确定哪些元素不应被视为拖动事件的触发器



编辑以解决以下事实:至少在Chromium 16/Ubuntu 11.04中,一个元素似乎可以同时单击、双击和拖动:。

您可以使用短延迟来防止单击时随机拖动

$('.draggable').draggable({ delay: 200 });

其他两种解决方案对我都不起作用,但以下两种解决方案对我不起作用:

$('#draggableDiv').mousedown(function () {
    var thisone=$(this);
    setTimeout(function(){
        thisone.attr("draggable","true");   
    },200);
});