Как я могу получить текущий размер шрифта выделенного текста, используя JavaScript? - PullRequest
0 голосов
/ 19 мая 2019

Я использую contentededitable для div и хочу добавить кнопку увеличения размера шрифта для выделенного текста.

Выбранный текст означает выделение курсором.

Для запуска 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 голосов
/ 19 мая 2019

Вы можете определить 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.Оттуда это просто.

...