4

我想禁用特定元素的文本选择。例如:

p {
    -moz-user-select: none
}

span {
    -moz-user-select: text
}

​</p>

<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/

4

1 回答 1

1

由于选择仅“显然”包含<p>s (例如,如果您复制,则只有非<p>标签保存在剪贴板中),所以您需要做的就是确保浏览器不会对其着色;这可以通过使用 CSS::selection说明符(::-moz-selection对于 Mozilla)覆盖默认选择样式来完成。

所以CSS会有类似的东西:

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

这是您的演示的修改版本,其行为符合预期:Link
希望对您有所帮助!

于 2012-08-13T00:58:14.827 回答