ContentEditable - 获取当前字体颜色/大小
我正在为网络浏览器开发富文本编辑器,我想使用 RTE/ContentEditable 元素中当前字体颜色和大小的值。是否有一些预先选择的函数来获取这些值,例如 execCommand,它直接与 ContentEditable 元素连接?或者我应该使用一些文本范围 jQuery 库来获取这些属性?
I'm working on Rich Text Editor for web browser and I want to work with values of current font color and size in the RTE/ContentEditable element. Is there some preselected function to get these values, like execCommand, which is connected directly with ContentEditable element? Or should I use some text range jQuery library which will get these properties?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
document.queryCommandValue()
获取所有主要浏览器中当前选择的颜色和字体大小:现场演示:http://jsfiddle.net/timdown/AJBsY/
代码:
但是,不同浏览器的结果不一致,并且
FontSize
命令仅适用于 中使用的字体大小 1-7这HTML元素而不是 CSS,因此您最好使用
window.getCompulatedStyle()
获取包含所选内容的元素并检查其 CSS 属性/currentStyle
:现场演示:http://jsfiddle.net/timdown/K4n2j/
代码:
这是一个改进,但仍然存在浏览器不一致的问题,例如不同的单位或颜色格式。
You can use
document.queryCommandValue()
to get the colour and font size of the current selection in all major browsers:Live demo: http://jsfiddle.net/timdown/AJBsY/
Code:
However, the results are inconsistent across browsers and the
FontSize
command only works with font sizes 1-7 used in the HTML<font>
element rather than CSS, so you'd be better off getting hold of the element containing the selection and examining its CSS properties usingwindow.getComputedStyle()
/currentStyle
:Live demo: http://jsfiddle.net/timdown/K4n2j/
Code:
This is an improvement, but there are still browser inconsistencies such as differing units or colour formats.