2010-12-09 2 views
0

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

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

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

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

ответ

1

не напрямую, потому что оба метода возвращает объект, а не строки. Для использования Шара вам необходимо получить строковое значение выбора, вдоль линий

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

+0

Могу ли я получить конкретную позицию, если я сравню значение выделенного текста со всем текстом? – user495688

+0

текста, вы можете увидеть мой вопрос. я только что отредактировал – user495688

+0

Я уже использую indexOf, но возвращаемое значение позиции не указано, если в предложении/параграфе есть само слово. – user495688