是的,您是正确的。`document.execCommand()`方法已被标记为弃用,并且不建议在新代码中使用。相反,建议使用更现代的API来执行编辑操作。
对于连续更改标题字体大小的情况,您可以考虑使用`Range`和`Selection` API来手动处理选区和范围。以下是一个示例函数,它可以将当前选区中的所有标题元素的字体大小设置为指定值:
```
function setHeaderFontSize(fontSize) {
const selection = window.getSelection();
if (selection.rangeCount > 0) {
const range = selection.getRangeAt(0);
const headers = range.commonAncestorContainer.querySelectorAll('h1, h2, h3, h4, h5, h6');
headers.forEach(header => {
header.style.fontSize = fontSize;
});
}
}
```
在这个示例中,我们首先获取当前选区的范围。然后,我们使用`range.commonAncestorContainer`属性获取选区中所有标题元素的共同祖先节点。最后,我们使用`querySelectorAll()`方法选择所有标题元素,并将它们的字体大小设置为指定值。
请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。