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. Начните здесь и здесь, чтобы узнать больше.