Pull to refresh

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

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

<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-планшетах.
Tags:
Hubs:
Total votes 11: ↑4 and ↓7-3
Comments2

Articles