2010-12-12 2 views
3

Я хочу поймать событие, когда пользователь выбирает текст на странице Firefox, такой как IDM add-on (или IE8 +), показывая кнопку, когда пользователь выбирает текст.Как захватить пользовательское текстовое событие в Firefox

Может ли кто-нибудь мне помочь?

+0

Первым решением могло бы случиться событие 'mouseup' и проверить, выбрал ли пользователь какой-либо текст. –

ответ

0

Несколько удивительно, что нет простого способа сделать это. IE имеет событие select, которое реализовано на всех элементах, но другие браузеры никогда не расширяли это за пределы входных данных. Вам придется обрабатывать события keyup и mouseup для всего документа и написать код для сравнения текущего выбора с предыдущим выбором с момента последнего запуска обработчика события.

3

Вы можете прикрепить прослушиватель событий mouseup и прослушиватель keypress соответственно для выбора мыши и клавиатуры, а затем используйте window.getSelection(), чтобы указать, выбран ли какой-либо текст.

+0

IE не имеет 'window.getSelection()', и выбор также может быть сделан с помощью клавиатуры. –

+0

@Tim Down: tqwer задавал конкретно для Firefox ... для выбора клавиатуры можно добавить слушателя 'keypress' или просто установить тайм-аут для проверки периодически. В настоящее время нет прослушивателей специально для изменения текста или изменения буфера обмена. –

+0

Пользователь также упоминает «IE8 +». И да, я знаю, что нет такого события, как я упоминал в своем ответе. –

Смежные вопросы