HTML Conteneditable -连接段落而不应用内联样式
HTML Conteneditable - join paragraphs without inline styles being applied
在WYSIWYG编辑器中(基于可满足内容的div),我编写了代码来确保在复制粘贴、正常键入等操作时没有将内联样式插入HTML中。但现在浏览器似乎更想捉弄我了。假设我的HTML中有两段这样的内容
<p>This is the first paragraph |(cursor)</p>
<p>This is the second paragraph</p>
没有内联样式。但是如果我现在通过按Delete/Backspace来连接这两个段落,Chrome决定这样做
<p>This is the first paragraph |(cursor)
<!-- Note the horrible inline styles -->
<span style="font-size: 13px; line-height: 19.53px;">
This is the second paragraph
</span>
</p>
当这种情况发生时,有人知道我如何预防/检测吗?
这是Webkit的问题。它也影响CKEditor (http://dev.ckeditor.com/ticket/9998)。我报告了这些票:
- http://code.google.com/p/chromium/issues/detail?id=226941
- https://bugs.webkit.org/show_bug.cgi?id=114791
但是没有反应。
你不能在jsfiddle上复制这个,因为这些段落需要应用样式。例如:
p { line-height: 1.5em; font-size: 12px; }
检查这个:http://jsfiddle.net/HHHak/2/
所以目前有两种可能的解决方案:
- 避免任何样式:|(但这不会解决我在提到的bug报告中描述的其他问题),
- 实现你自己的退格/删除支持(真的很棘手…你可以在规范草案中找到一个算法,但我不确定它是完整的)。
相关文章:
- 当主导航离开视图时,为粘性导航应用样式
- CSS根据属性的可用性有条件地应用样式
- 从跨域对Iframe应用样式
- 如果父宽度大于特定值,则css应用样式
- Javascript:表单在第一次验证和应用样式后提交
- 需要通过Javascript代码应用样式的帮助
- 如何单独对输入标签应用样式
- jQuery 在动态加载内容并使用 .replaceWith() 后不应用样式
- 应用样式,无论元素是否已使用 jQuery 添加到 DOM 中
- 使用 javascript 在标签中应用样式(不带 jQuery)
- 应用样式的屏幕在网页上轻扫
- 基于javascript条件应用样式
- 应用样式“;游标:指针”;所有具有onClick功能的React组件
- 如何在动态生成的元素上应用样式
- 浏览器在繁重的工作负载之前不应用样式
- Jquery移动动态字段未应用样式
- 使用JavaScript添加内容后重新应用样式
- 媒体打印;t在chrome上应用样式,但在firefox中效果完美
- 在javascript中切换时,Chrome应用样式表的速度非常慢
- Wordpress子主题没有通过JQuery应用样式