使用 contentEditable 功能和 execCommand ,可以编辑/格式化页面某些部分的内容,就像所有WYSIWYG网页编辑器中使用的内容一样。但是,有许多浏览器与此类功能的实现不一致,这导致这些网络编辑人员手动处理它们。
就我而言,IE使用强和 em 元素作为 Bold 和 Italic 命令,这是正如我在语义强和 em 之后所想要的那样,而不是 b , i <的视觉风格/ em>,和/或样式 span 。但是,其他浏览器使用这些视觉样式元素,并且不提供设置强或 em 元素的方法。
是否有办法在所有浏览器中使用 strong 和 em ? 我不介意添加新的命令来处理这样的事情,只要它实现IE的近似结果。此外,能够将它们应用于交叉的内联/块元素而不破坏浏览器(或者至少以相同的方式打破它们)将是漂亮。是的,我可以使用其他一些编辑器,但我只对这个功能感兴趣。我将不胜感激任何帮助。
谢谢
答案 0 :(得分:1)
我确切地知道你的意思,因为我遇到了同样的问题。通过努力搜索,我认为这是有帮助的(StackOverflow中的链接):
Using contentEditable in Firefox: 'bold' renders correctly, but html code is incorrect
要在此处查看,它说,在execCommand('bold')之前添加以下行:
document.execCommand('StyleWithCSS', false, false);
我尝试并修复它,在Firefox 13.0.1中插入(在此之前,FF插入“font-weight:bold”)。我现在很兴奋。
答案 1 :(得分:0)
也许我误会了,但你可以使用CSS将em和strong设置为你想要的任何东西。
strong{ font-weight:bold }