替代/替代 queryCommandState('bold')

Fif*_*ifi 6 html javascript contenteditable

我创建了一个丰富的内容编辑器基于execCommandqueryCommandState他们现在已经过时。我正在寻找这些命令的替代品,尤其是对于

document.queryCommandState('bold')
Run Code Online (Sandbox Code Playgroud)

我认为以下是一个好的开始:

window.getSelection().getRangeAt(0);
Run Code Online (Sandbox Code Playgroud)

我得到了当前的选择,但我不知道该选择是否以粗体显示<b>

Fif*_*ifi 5

它可以用 window.getSelection()

JSFiddle: https ://jsfiddle.net/Imabot/s54zoxk2/

说明: https : //lucidar.me/en/rich-content-editor/lightweight-rich-content-editor-part-2-check-if-bold/

希望这会帮助其他人......


小智 1

您可以获取节点的所有计算样式,然后检查属性的值。

function getComputedStyles(currentNode) {
    if(currentNode.id != maxTreeNodeId) {
        try {
            var styles = window.getComputedStyle(currentNode);
            console.log(styles.fontWeight); // Print font weight, 700 = bold
        } catch(err) {
            this.getComputedStyles(currentNode.parentNode);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)