JavaScript: возможно ли использовать функцию charAt, чтобы получить выделенный текст?

Возможно ли использовать функцию charAt в функции get selection, как показано ниже?

getSelected function () {
   var userSelection;
   if (window.getSelection) {
      userSelection = window.getSelection ();
   } else if (document.selection) {
       userSelection = document.selection.createRange ();
   }
   userSelection return;
}

Например: у меня есть весь текст приветствия в стеке над потоком, а затем выбранный текст является стеком. Могу ли я создать функцию для получения указанной позиции с помощью charAt, когда пользователь выберет текст, и система сравнит его со всем текстом, если система обнаружит тот же текст, система вернет позицию?

потому что, насколько я знаю, функция charAt может использоваться для определения конкретной позиции строки. http://help.dottoro.com/ljetnrhv.php

1 ответ

Не напрямую, потому что оба метода возвращают объект, а не строку. Чтобы использовать charAt, вам нужно получить строковое значение выделения вдоль строк

function getSelectionText() {
   if (window.getSelection)
      return window.getSelection().toString();
   if (document.selection)
       return document.selection.createRange().text;
   return null;
}

alert(getSelectionText().charAt(2)); // 3rd selected char

Чтобы найти позицию строки внутри другой строки, используйте indexOf. Поиск позиции выделения на странице намного сложнее, потому что вам необходимо учитывать структуру html. Начните здесь и здесь, чтобы узнать больше.

Другие вопросы по тегам