我正在尝试获取当前光标位置下单词的样式/粗体、斜体等/。我有点击的x
坐标y
,我已经完成了以下操作
var range = document.caretRangeFromPoint(x, y);
range.expand('word');
range.queryCommandState('bold');
但这会导致错误,即范围没有queryCommandState
方法,而此阅读:http ://help.dottoro.com/ljkxwclp.php暗示范围或至少文本范围(我是 JS 新手,请原谅我)有这样的一个方法。任何帮助是极大的赞赏。
编辑:我通过添加来解决这个问题
var range = document.caretRangeFromPoint(x,y);
range.expand('word');
window.getSelection().addRange(range);
document.queryCommandState('bold');
window.getSelection().empty();
但我对此并不满意。有没有更好的方法来实现这一目标?