Кнопка «цитировать» для iOs

При общении на форуме удобно иметь возможность цитировать в своем ответе фразы собеседников.
Простой скрипт поможет перенести выделенный кусок текста в поле ответа.

<a href="javascript://" onClick="document.getElementById('message').value = window.getSelection().toString();">цитировать</a> 

демо

Для iOS

В мобильном Safari такое выделение не работает — сброс выделения текста происходит чуть раньше события нажатия на «цитировать».

Необходимо хранить выделение и регулярно обновлять данные:

var selectedRange = null; selectedRangeID = setInterval(getSelectedRange, 150);  function getSelectedRange()  {     try { 	if (window.getSelection) {             selectedRange = window.getSelection().toString();         } else {           if (document.selection) {   // Internet Explorer             selectedRange = document.selection.createRange().text;           } else {             selectedRange = document.getSelection();           }         }     } catch (err) {      } }; 

демо 2

Тогда при нажатии на «цитировать» мы запросим содержание переменной selectedRange и получим выделенный фрагмент.

Скрипт корректно работает на дисктопных браузерах и на Ipad.
Не проверялся на Android-планшетах.

ссылка на оригинал статьи http://habrahabr.ru/post/161867/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *