区分 ng2-dragula 上的单击或拖动

Posted

技术标签:

【中文标题】区分 ng2-dragula 上的单击或拖动【英文标题】:Differentiate between Click or Drag on ng2-dragula 【发布时间】:2019-09-30 04:05:25 【问题描述】:

在demo page 上显示,您可以区分正常的左键单击和开始拖动。

点击或拖动!在mousemove 事件之前释放鼠标按钮时触发单击,否则触发拖动事件。无需额外配置。

我现在使用isInDragMode 变量,该变量在drag 事件中设置并在onSelect 中取消设置,但这里声明不需要额外配置

那么有现成的解决方案吗? ng2-dragula 看起来怎么样?

【问题讨论】:

【参考方案1】:

你可以试试下面的方法

var flag = 0;
var element = xxxx;
element.addEventListener("mousedown", function()
    flag = 0;
, false);
element.addEventListener("mousemove", function()
    flag = 1;
, false);
element.addEventListener("mouseup", function()
    if(flag === 0)
        console.log("click");
    
    else if(flag === 1)
        console.log("drag");
    
, false);

【讨论】:

我认为他的解决方案比你的要好。在这个概念中,如果您在实现中忘记了标志,则根本无法控制 mousedown 动作。真的不清楚。 这个我觉得很简单,如果你有其他的实现,告诉他。 他有一个解决方案:“我现在使用的是 isInDragMode 变量,它在拖动事件中设置并在 onSelect 中取消设置,但这里声明不需要额外配置。”,和这是更好的国际海事组织。

以上是关于区分 ng2-dragula 上的单击或拖动的主要内容,如果未能解决你的问题,请参考以下文章

2018 年使用 ng2-dragula

角度多重拖放(ng2-dragula)

JavaFX区分拖动和单击

两种方式实现css取消页面鼠标双击选中文字或单击拖动选中文字的效果

两种方式实现css取消页面鼠标双击选中文字或单击拖动选中文字的效果

如何区分鼠标“点击”和“拖动”