0

有什么解决方案如何从queryCommandValue选定的文本返回值?
我知道queryCommandValue('bold')返回字符串 truefalse(不是布尔值!)。
我尝试准备一些小型 WYSIWYG 编辑器,但是...

问题是如何从选定的文本中获取值,例如:选定的文本是粗体和下划线的

4

2 回答 2

3

不,没有办法。那是因为queryCommandValue不是告诉你所选文本的状态,而是关于输入。如中,如果您选择一个既粗体又不粗体的段落,queryCommandValue不能告诉您某些文本是粗体而某些文本不是粗体。本质上,它告诉你下一个输入的值;在这个例子中,如果你按下一个字符键,是否会加粗(这里,这取决于你开始选择的位置:是否在粗体格式内)。

此外,您应该知道您可以使用它document.queryCommandState来获取返回的布尔值。当然,它只适用于布尔值,比如颜色、字体等你仍然想使用的东西queryCommandValue

于 2013-06-20T14:40:13.257 回答
0

你试过这个吗?获取样式值

var selection = window.getSelection();
console.log(selection.anchorNode.parentNode.style);

这得到标签名称:

var selection = window.getSelection();
console.log(selection.anchorNode.parentNode.tagName);
于 2020-07-23T19:33:36.913 回答