我在div上使用了contentededitable,并且想要为所选文本添加增加字体大小按钮。
选定的文字,用光标突出显示。
为了运行
document.execCommand('fontsize', false, size);
我需要知道所选文本的大小,因此可以将其增加1。如何获取当前所选文本的字体大小?
我尝试过:
var size = document.getSelection().fontSize.toString();
但这不是布宜诺斯艾利斯。我也试过
document.execCommand('increaseFontSize', true, 1)
假设它将增加一个整数,但是什么也没有发生,甚至没有错误。
我尝试过:
var el = document.getSelection();
var size = window.getComputedStyle(el, null).getPropertyValue('font-size');
但是我得到了错误
Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'
答案 0 :(得分:0)
您可以像这样确定父元素的font-size
:
const selection = Window.getSelection();
if (selection) { // make sure it doesn't error if nothing is selected
const size = window.getComputedStyle(selection.anchorNode.parentElement, null).getPropertyValue('font-size');
}
Window.getSelection()
返回一个Selection
对象。在这些对象上,属性anchorNode
包含对该选择所属的textNode
的引用。依次具有通常的parentElement
属性。从那里很容易。