|
|
|
|
|
для: PAT
(08.07.2008 в 00:43)
| | Спасибо, только я все правильно сделал. У меня оnblur и onfocus oбработаны уже, а вот при вызове контекстного меню арея фокус не теряет. Вот в чем была загвоздка. А так, пусть жмет куда хочет, лишь бы что-нибудь происходило. | |
|
|
|
|
автор: Sanya_Zol (08.07.2008 в 02:36) |
|
|
для: Николай2357
(06.07.2008 в 17:51)
| | обрабатывай события onchange onkeypress onkeydown onkeyup | |
|
|
|
|
|
|
|
для: Николай2357
(07.07.2008 в 22:18)
| | Вы не поняли.
На верхней части любого браузера есть панель: Файл--Правка--Вид--
Вот там с помощью мыши можно кликать на Вставку, Отмену,Повторение,Вырезание..
И никакой скрипт (отслеживающий мышь или клавиатуру) этого дела не "поймает".
Кроме ONPOPERTYCHANGE в MSIE.
Или по setInterval - везде. | |
|
|
|
|
|
|
|
для: PAT
(07.07.2008 в 08:17)
| | Он на то и скрипт, чтобы отследить изменение текста в арее. Если юзер чтото делает, нужно к этому и привязываться. Пусть куда угодно жмет, есть onkeydown и onkeyup. Первым запоминаем текст, вторым сравниваем. Впринципе я много вариантов испробывал, пока тьфу-тьфу. А вот с контекстменю была проблема, ведь после вставки текста никаких событий не просходит. Значит нужно изобрести. Повесил проверку на onmausemuve, рука у юзера все равно дрогнет. Как результат получаю - опять в ожидание контекст меню.
Работает! | |
|
|
|
|
|
|
|
для: Николай2357
(06.07.2008 в 20:41)
| | А возможность изменения содержимого через браузерное меню предусмотрели?
Кликнет юзер по TEXTAREA (даст ему фокус), войдет затем в меню Правка и выберет там пункт "Отменить", или "Повторить", или "Вставить", или "Вырезать"... И что ваш скрипт в этом случае делать будет? :-)
А если юзер будет отменять, повторять, вставлять или вырезать, используя комбинации клавиш Ctrl+Z, Ctrl+Y, Ctrl+V, Ctrl+X ? | |
|
|
|
|
|
|
|
для: Николай2357
(06.07.2008 в 19:41)
| | Эврика!!! Все просто! Нужно функцию поставить событием oncontextmenu в ожидание, запускать ее onmausemuve, а onkeydown и скриптом запретить выполнение функции. Проверил - работает! | |
|
|
|
|
|
|
|
для: PAT
(06.07.2008 в 19:10)
| | Спасибо, я думал про это, только мное нужно отделить именно текст, введенный из буфера, так как он вводится еще скриптом и "вручную". Можно было бы прикрутить его, если бы отследить клик по контекстменю, а так наверное довольно сложная цепочка получится. Ведь можно вызвать меню, а потом передумать, алгоритм нарушится. Там еще "выделить все" есть. В общем проблема, как я понял, нерешаема. | |
|
|
|
|
|
|
|
для: Николай2357
(06.07.2008 в 17:51)
| | Отследить НАПРЯМУЮ событие изменения свойства textarea.value можно только в MSIE (там работает и ONPASTE, и ONPROPERTYCHANGE). В других браузерах это "не катит".
Однако есть простейший способ, о котором многие забывают: по setInterval проверять изменение этого самого textarea.value. Всё получается довольно просто по исполнению.
setInterval , кстати, если на него не вешать очень большую вычислительную работу, практически не грузит парсер браузера. | |
|
|
|
|
|
|
| Здравствуйте.
Возможно ли отследить изменение текста в <textarea> при вставке из буфера?
Событие onchenge неподходит, оно наступает только при потере фокуса, а нужно сразу после вставки.
Спасибо. | |
|
|
|
|