有什么解决方案如何从queryCommandValue
选定的文本返回值?
我知道queryCommandValue('bold')
返回字符串 true
或false
(不是布尔值!)。
我尝试准备一些小型 WYSIWYG 编辑器,但是...
问题是如何从选定的文本中获取值,例如:选定的文本是粗体和下划线的?
有什么解决方案如何从queryCommandValue
选定的文本返回值?
我知道queryCommandValue('bold')
返回字符串 true
或false
(不是布尔值!)。
我尝试准备一些小型 WYSIWYG 编辑器,但是...
问题是如何从选定的文本中获取值,例如:选定的文本是粗体和下划线的?
不,没有办法。那是因为queryCommandValue
不是告诉你所选文本的状态,而是关于输入。如中,如果您选择一个既粗体又不粗体的段落,queryCommandValue
不能告诉您某些文本是粗体而某些文本不是粗体。本质上,它告诉你下一个输入的值;在这个例子中,如果你按下一个字符键,是否会加粗(这里,这取决于你开始选择的位置:是否在粗体格式内)。
此外,您应该知道您可以使用它document.queryCommandState
来获取返回的布尔值。当然,它只适用于布尔值,比如颜色、字体等你仍然想使用的东西queryCommandValue
你试过这个吗?获取样式值
var selection = window.getSelection();
console.log(selection.anchorNode.parentNode.style);
这得到标签名称:
var selection = window.getSelection();
console.log(selection.anchorNode.parentNode.tagName);