Javascript webkit stylewithcss contenteditable不工作?
我正在尝试使用contenteditable和styleWithCss 它在webkit中似乎不起作用 每当我使用do-execCommand时,它都会生成一个Javascript webkit stylewithcss contenteditable不工作?,javascript,jquery,webkit,wysiwyg,contenteditable,Javascript,Jquery,Webkit,Wysiwyg,Contenteditable,我正在尝试使用contenteditable和styleWithCss 它在webkit中似乎不起作用 每当我使用do-execCommand时,它都会生成一个,而不是我预期的范围 下面是一个演示: 选择部分文本,单击粗体按钮,然后查看html输出 这是一个错误还是我做错了什么 非常感谢。似乎一切都在按预期进行。请参阅WebKit BugZilla上的 编辑:对styleWithCSS的支持于2009年2月3日添加到WebKit的源代码中 也就是说,从那时起,似乎无论发生什么,styleWit
,而不是我预期的范围
下面是一个演示:
选择部分文本,单击粗体按钮,然后查看html输出
这是一个错误还是我做错了什么
非常感谢。似乎一切都在按预期进行。请参阅WebKit BugZilla上的
编辑:对styleWithCSS的支持于2009年2月3日添加到WebKit的源代码中
也就是说,从那时起,似乎无论发生什么,styleWithCSS
总是设置为false
,而在更改之前,样式命令总是与CSS一起应用,就好像styleWithCSS
存在,但总是设置为true
我甚至试着按照以下要求重写您的文档.execCommand
行:
这些修改后的命令在Firefox中仍然有效,但在Chrome 5或Safari 5中都不起作用(在Windows上和今天安装的)
因此,这似乎是一个WebKit bug。我无法将其与这里两个答案中的命令一起使用。对于那些还在为这个问题绞尽脑汁的人来说,这就是如何让它发挥作用
document.execCommand("styleWithCSS", true, null);
document.execCommand("bold", false, null);
我们可以将三个值传递给execCommand
document.execCommand( command, uiElement, value )
Christopher的优秀答案详细说明了“styleWithCSS”的值默认设置为false
试试看:
alert(document.queryCommandState("styleWithCss"));
要将其设置为true,需要将第三个参数“value”传递为true。像这样:
document.execCommand("styleWithCSS", null, true);
这在Firefox和Chrome中都有效,这是针对stylewithcss的false,我正在尝试使用stylewithcss true。噢!可以我要潜水了。和原版一样的虫子,但现在反方向了?经过进一步研究,我更新了我的答案。我认为添加了
styleWithCSS
支持本应使其可配置,但它仍停留在默认状态,即false
。(见)不幸的消息,但谢谢你。确认错误后,我将接受您的答案。第三个参数是您想要的命令值。对于样式WithCSS
,您需要一个布尔第三个参数。第二个参数几乎总是不相关的,可以是false
。因此document.execCommand(“styleWithCSS”,false,true)代码>
document.execCommand("styleWithCSS", null, true);