gpt4 book ai didi

css - 用户选择 :none breaking Safari contenteditable

转载 作者:太空狗 更新时间:2023-10-29 13:21:09 25 4
gpt4 key购买 nike

我有一个带有 contenteditable="true" 的 div。我可以使用 IE、Chrome 和 Firefox 但不能在 Safari 中将文本输入到 div 中。我最终将问题追溯到下面给 div 容器的样式声明。

container {
-webkit-user-select : none;
-moz-user-select : none;
-khtml-user-select : none;
-ms-user-select : none;
}

我不久前根据 Chrome taking first double-click 放入了这些以防止容器在双击时变成蓝色。现在我发现该解决方案破坏了 Safari contenteditable

有没有人确切知道这些东西在做什么以及为什么它们会破坏 Safari contenteditable

最佳答案

用户选择

此属性控制实际的 Selection操作0。这在您希望为用户提供更简单/更清晰的复制粘贴体验(而不是让他们不小心文本选择无用的东西,如图标或图像)的情况下很有用。1

该属性如何运作的示例:http://jsfiddle.net/chriscoyier/vGG8F/3/

可能的解决方案

由于 Safari 是基于 webkit 构建的,-webkit-user-select : none; 是罪魁祸首。删除它将允许 contenteditable 再次工作。但是,由于您原来的问题,您需要它。

  1. 其他人遇到了同样的问题,可能会提供解决方案。

  2. 你也可以 catch the double click as suggested in your first question然后禁用 -webkit-user-select 允许 div 可编辑。编辑完成后,-webkit-user-select 可以设置回 none

0 https://developer.mozilla.org/en-US/docs/Web/CSS/user-select
1 http://css-tricks.com/almanac/properties/u/user-select/

关于css - 用户选择 :none breaking Safari contenteditable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20823468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com