簡體   English   中英

防止在dbl單擊上選擇文本

[英]Prevent text selection on dbl click

我需要防止雙擊時選擇文本。 但是在鼠標拖動時,文本仍然應該是可選擇的。 可能嗎?

如果我嘗試刪除選擇上dblclickmouseup ,閃爍(像這樣的jsfiddle )什么是不可取的為好。

UPD: 我不需要完全禁用選擇 我只想雙擊禁用它。

試試看: -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;
}

我要說的是沒有CSS解決方案,因為沒有辦法阻止doubleclick選擇,而是讓文本在拖動時可以選擇。 但是,您可以使用css user-select:none完全阻止選擇。

但是,您可以在JavaScript中檢查doubleclick事件,然后使用window.getSelection()。empty();刪除選擇。

在代碼中需要時使用此偽選擇器:

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

此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解決方案不能在大多數移動瀏覽器中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM