2012-08-10 139 views
4

我想禁用特定元素的文本選擇。例如:用戶選擇中斷多個元素

p { 
    -moz-user-select: none 
} 

span { 
    -moz-user-select: text 
} 

<div> 
    <p>first paragraph</p> 
    <span>first span</span> 
    <p>second paragraph</p> 
    <span>second span</span> 
</div>  

第一和第二段不能單獨選定的。但是,如果我選擇第一個跨度並向下拖動以選擇第二個跨度,則第二個段落將在過程中被選中。我想阻止這個(它在WebKit中的預期功能)。

我使用Firefox 14.0.1。的jsfiddle供參考:http://jsfiddle.net/GFNDY/

+0

嗨,如果你選擇第一和第二跨度,然後複製到剪貼板並粘貼,第二段只在屏幕上選擇,但在剪貼板中省略:'第一跨度第二跨度'(在Firefox中測試它) – Stano 2012-08-12 18:01:11

回答

1

由於選擇只有「顯然」包括<p> S(例如,如果你複製,只有非<p>變量保存在剪貼板),那麼所有你需要做的就是確保瀏覽器不會爲它着色;可以通過使用CSS ::selection說明符(用於Mozilla的::-moz-selection)覆蓋默認選擇樣式來完成。

所以CSS會碰到這樣的:

p::-moz-selection { 
    background: transparent; 
    color: #000000; 
} 

這是你的演示可以按預期的修改版本:Link
希望能以任何方式幫助你!