在chrome和safari中,Contenteditable用内联样式替换CSS类和规则



我正在编写一个简单的wysiwyg编辑器,能够将css类应用于文本,我在chrome和safari中遇到了以下问题:

在有内容的区域,如果你手动添加一个css类到一个元素,或者有一个css规则的h1(例如)与' display: inline '。经过一些操作,如删除或复制/剪切+粘贴,您将获得内联样式,并失去元素上的所有属性。我猜浏览器只在元素上设置了相关的计算样式。有什么方法可以防止这种行为吗?

<span class="red">aaaaaaaa bbbbbbbbbbb</span> 

=>

<span class="Apple-style-span" style="color: rgb(255, 0, 0); font-size:     20px;">bbbbbbbbbbbbbbbbbbbbbb</span>

•此示例使用' styleWithCss '

在2011年这是一个"功能"。WebKit。我相信它仍然是……

但是,似乎有一个解决方案,虽然我没有深入研究。请看:https://www.w3.org/TR/input-events/https://webkit.org/blog/7358/enhanced-editing-with-input-events/

最新更新