在contenteditable = true时选择文本将使用样式user-select = none复制节点文本;

问题描述 投票:1回答:1

出了问题。当您打开小提琴时,您将看到一个令人满意的页面。某些节点的样式为user-select = none,当您按ctrl-a选择所有节点时,您将看到所有内容都被选中而没有样式用户选择:none

但是如果您使用ctrl-c复制所选文本并打开记事本并将其粘贴,则会在那里插入所有带有user-select = none的文本。

JS Fiddle

javascript html css contenteditable
1个回答
0
投票

你的代码在Firefox上运行良好,但它在Chrome,Opera,Safari上无法正常运行。

我认为值为none的用户选择属性对某些浏览器有一些错误。

在不同的浏览器中尝试这个示例代码,您就会知道。

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}
<p>Selectable text1.</p>
<p class="noselect">Unselectable text1.</p>
<p>Selectable text2.</p>
<p class="noselect">Unselectable text2.</p>
© www.soinside.com 2019 - 2024. All rights reserved.