У меня есть расширение chrome, в котором я пытаюсь перемещаться по DOM, начиная с выбранного элемента, со следующим скриптом содержимого:
document.addEventListener("mousedown", function(event) {
const selection = window.getSelection();
console.log(selection);
const currentNode = selection.anchorNode;
console.log(currentNode);
}
При первом клике currentNode
всегда значение NULL. При последующих щелчках это выбранный узел, как и ожидалось.
В окне отладки записанная в журнал переменная selection
показывает объект выбора со всеми элементами, равными NULL, но они оцениваются, если я раскрою объект со стрелкой вниз рядом с ним.
Это похоже, что-то асинхронно оценивается, что, как я понимаю, обычно обрабатывается с обещаниями в JavaScript. Ни один из звонков, которые я делаю, не возвращает обещание, от которого я могу ждать.
Я что-то упускаю здесь очевидное? Как я могу форсировать оценку участников отбора в первый раз?