Подтвердить что ты не робот

Выбор текста в мобильном Safari на iPhone

Я пытаюсь сделать так, чтобы пользователь iphone мог скопировать некоторый текст в буфер обмена в мобильном сафари. Как в обычной "прикосновенной копии". Для копирования требуется конкретный бит текста. У меня есть полный выбор html-разметки для обертывания текста. Как я могу сделать это легко, а не наоборот? Например:

  • Есть ли способ "выбрать все" текст при касании с помощью javascript? Тогда пользователь может просто продолжить касание и затем выбрать копию?

  • Есть ли способ вызвать "выбрать все"? Как вы можете при вводе текстового поля? После чего они могут выбрать копию?

  • Если нет javascript-решения, как я могу организовать html, чтобы помочь Safari легко выбрать правильный бит текста? В отличие от простого слова или обертки div?

Я пробовал onFocus = "this.select()" для разных элементов, ни один из них не работает. Также попробовали onClick.

Те, кто попытался перенести сайт, который использует ZeroClipboard для iPhone, могут иметь некоторые идеи.

Приветствия

4b9b3361

Ответ 1

вместо this.select(); Я использовал следующее и работает!

this.selectionStart=0;
this.selectionEnd=this.value.length;

Ответ 2

Волшебный соус для меня был комбинацией этих трех:

onFocus="this.selectionStart=0; this.selectionEnd=this.value.length;" <!-- for big screens -->

onTouchEnd="this.selectionStart=0; this.selectionEnd=this.value.length;" <!-- for small screens -->

onMouseUp="return false" <!-- to stop the jitters -->

Ответ 4

Я столкнулся с той же проблемой. Событие onfocus является правильным для ловушки (ontouchstart не запускается, если вы используете кнопки iphone keyboard [next]/[prev].) Если вы установите предупреждение(); в обработчике onfocus = "" вы увидите всплывающее окно с предупреждением. Проблема в том, что this.select(); Я до сих пор не нашел ответа на это, но когда/если я это сделаю, я отправлю его здесь.