Я создаю веб-приложение, которое позволяет выбирать части html-документа и размещать на нем какую-то аннотацию. Чтобы получить выделенный текст, я использую window.getSelection()
, который отлично работает в IE9, FF и Safari. Однако я бегу в проблемы при использовании той же странице, на мой IPad 2:Получить выделенный текст на IPad 2 с помощью Javascript
- Если я просто выбрать слово, коснувшись его на секунду,
window.getSelection()
возвращает правильный выбор. - Если я создаю текстовый диапазон (как описано здесь http://blog.laptopmag.com/how-to-select-copy-and-paste-text-on-the-ipad), всегда возвращайте «null». Я уже изучил окно, документ и связанные с ним объекты событий, но без успеха ...
Любая помощь была бы действительно оценена!
Редактировать: Небольшой пример. Выберите текст и нажмите кнопку. В Safari (PC) функция выводит выбранное значение ...
<html>
<body>
<script>
function a()
{
alert(window.getSelection());
}
</script>
Hello World! <input type="button" onclick="a();"
</body>
</html>
Вы уверены? 'window.getSelection()' отлично работает для меня для любого выбора на iPhone. –
Я добавил небольшой пример. К сожалению, я совершенно уверен ;-) – RealAugust
Ага, я подумал, что это может быть что-то вроде этого. Я подозреваю, что к тому моменту, когда на кнопку нажата кнопка «click», выбор был утерян. Вместо этого попробуйте использовать событие «touchstart». Возможно добавление 'style =" - webkit-user-select: none "' на кнопку может работать вместо этого, но я не уверен в этом. –