【问题标题】:javascript disable text selection but allow draggingjavascript禁用文本选择但允许拖动
【发布时间】:2015-07-30 08:06:35
【问题描述】:

我现在正在解决这个问题一段时间,我的所有搜索都导致在我的 onmousedown 侦听器中使用 preventDefault() (以防止文本选择),但是当我这样做时,它也禁用了我的拖动(不能拖动元素,即使它们具有 draggable="true" 属性)。

允许拖动元素的最佳方法是什么(使用属性 draggable="true"),并且当拖动它们并将鼠标悬停在某些文本(p、h1、h2...)上时,可以防止文本背景形式出现蓝色(你知道 - 单击和标记文本时的默认值)

谢谢。 吉姆。

【问题讨论】:

  • 这可能是您的答案吗? stackoverflow.com/questions/5429827/…
  • 我现在明白我的问题有点棘手。我之前看到过这个问题并尝试过,它确实解决了这个问题,但不是我的问题。不过,这将引导我找到解决方案:) 谢谢@trainoasis

标签: javascript text drag-and-drop preventdefault


【解决方案1】:

最终解决我的问题的事情非常简单,并且在 CSS 中,

你可以看到答案here

【讨论】:

  • 这不是一个解决方案,我不想禁用文本选择,我只想在拖动前禁止将选定的文本与可拖动或以其他方式清除的选择一起拖动。
【解决方案2】:

找到了解决办法。

只需将onmousedown="mouseDown()" 添加到您的元素和此方法:

function mouseDown() {
   window.getSelection().removeAllRanges();
}

这将取消选择所有先前的选择,仅突出显示当前被拖动的元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-26
    • 2018-01-19
    • 2012-09-29
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    相关资源
    最近更新 更多