如何使用javascript获取所选文本的当前字体大小?

时间:2019-05-19 17:31:21

标签: javascript font-size selected

我在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'

1 个答案:

答案 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属性。从那里很容易。