拖动鼠标时阻止文本选择

时间:2015-09-28 11:43:07

标签: javascript firefox javascript-events

我有以下javascript代码执行我的功能,当我按下鼠标左键并将其拖动到屏幕上时:

function MyFunc(e)
{
   // I copied this part from another SO question
   e.preventDefault();
   e.stopPropagation();
   e.cancelBubble = true;
   e.returnValue = false;
   // This should cancel out all default actions, should it not?


  return false;
}

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

这应该做的是,当鼠标在屏幕上拖动时(按下左键时,它会阻止选择文本(或任何其他元素)。但实际情况是,它确实没有。该函数正在执行,我使用console.log检查,但它不会阻止文本选择。 我无法弄清楚我在这里做错了什么。

我现在正在使用的是:

window.getSelection().removeAllRanges();

这有效并且完全取消了选择,但这是非常难看的解决方案,我不明白为什么上面的代码不起作用。

1 个答案:

答案 0 :(得分:3)

将此添加到CSS中,以获取您不想拖动的元素。

-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;