用户选择中断多个元素

问题描述:

我想禁用特定元素的文本选择。例如:用户选择中断多个元素

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

由于选择只有“显然”包括<p> S(例如,如果你复制,只有非<p>变量保存在剪贴板),那么所有你需要做的就是确保浏览器不会为它着色;可以通过使用CSS ::selection说明符(用于Mozilla的::-moz-selection)覆盖默认选择样式来完成。

所以CSS会碰到这样的:

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

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