阻止在dbl上单击选择文本

时间:2015-05-26 06:31:07

标签: javascript html css textselection

我需要在双击时阻止文本选择。但是鼠标拖动时仍然可以选择文本。有可能吗?

如果我尝试删除dblclickmouseup上的选择,它会闪烁(如this jsfiddle中所示),这也是不可取的。

UPD:我不需要完全禁用选择;我只想在双击时禁用它。

4 个答案:

答案 0 :(得分:1)

试试这个: - http://jsfiddle.net/adiioo7/z2kpcwb6/2/

<强> HTML: -

<h2>Try to select me</h2>

<div id="foo" unselectable="on">dljafdlhjafdbdfasjhadsfh adfsjlfhads h jkfkaj fjf ajksfhajks afjk sdhfkj asfadks jfsdjf kjasdhf kjasdh fkjasdfk jadskjfhakdsjf kajsdf kjah kfjas kdjfads</div>

<强> CSS: -

#foo {
   -moz-user-select: -moz-none;
   -khtml-user-select: none;
   -webkit-user-select: none;

   /*
     Introduced in IE 10.
     See http://ie.microsoft.com/testdrive/HTML5/msUserSelect/
   */
   -ms-user-select: none;
   user-select: none;
}

答案 1 :(得分:1)

我想说没有css解决方案,因为没有办法阻止双击选择,但让文本可以通过拖动进行选择。但是,您可以使用css user-select:none;

完全阻止选择

但是你可以在javascript中检查doubleclick事件,然后删除选择     window.getSelection()空();

答案 2 :(得分:0)

在代码中需要时使用此伪选择器:

::selection {
    background: transparent;
    color: initial;
}

答案 3 :(得分:0)

此JavaScript解决方案应适用于所有浏览器:

<div onselectstart="return false">your text</div>

或者您可以使用适用于大多数浏览器的css解决方案:

.not-selectable {
    -webkit-user-select: none;    
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

注意:如果我没记错的话,css解决方案在大多数移动浏览器中都不起作用。