Отлов изменения input.value левым скриптом
Пишу расширение для Хрома. Нужно отслеживать изменение значения инпутов и тексовых областей. Изменения производятся скриптами страницы, к ним я доступа не имею. Какие есть пути решения проблемы?
|
danik.js,
oninput или .input на jQuery |
Ну было бы все так просто, я бы не спрашивал. Это событие возникает только при вводе текста пользователем. Скрипты не триггерят это событие.
|
danik.js,
Втавь oninput="MyFunk(this)" в контент тега на jQuery replaceWith Старайся это сделать до загрузки DOM (т.е скрипт поставить в хидер без обертки в событие загрузки страницы (Или из верха - по таймеру |
И че это даст? И причем тут jQuery то. Давай без него.
|
|
могу ошибаться, но посмотри это https://developer.mozilla.org/en-US/...utation_events
|
nerv_, пробовал, не подходит. Содержимое ноды то не меняется. Меняется тупо свойство value, и это изменение никак не отражается на атрибутах/содержимом элемента.
Deff, вобще не понял что я там полезного должен найти ) |
danik.js,
Первым срабатывает событие установленной на атрибут в элементе, Если успеешь заменить тег до установки Их обработчиков - то ... Второе - есть событие изменение контента на странице - по событию обходишь все инпут 3. можно попробовать пролистать лист событий, найти нужные и видоизменить, вроде находил на stackoverflow.com |
Так прикол в том что никаких изменений в DOM-е не происходит. Все на своих местах, ничего не меняется. Меняется только текст в инпуте и свойство value. Свойство onchange не срабатывает при изменении value скриптом. По крайней мере в хроме. Да и если срабатывает где-то, то всеравно, мне нужно моментально отслеживать изменения а не по потере фокуса.
|
danik.js,
Цитата:
A input этим нужна эта смена value скриптами ? (можно тупо поменять им или обрамлению класс, id и т.д. |
не хочу setInterval :-E
Блин, пробовал установить сеттер для value свойства. Все работает отлично. Элемент все-равно скрывается и неважно что в него ничего не пишется. Но мне нужна возможность восстановления элемента. Реально ли восстановить обратно input.value, чтоб работало как до хирургического вмешательства? |
danik.js,
:) А поставить позицией абсолюте - фальш input - над реальным - и пусть пользователь работает с ним, а в конце пропишешь куда надо и уберешь |
Deff, ну сколько можно повторять. Меняет не пользователь, а скрипты. Вот например пользователь нажмет над этим редактором кнопочку B чтоб обрамить текст в , скрипт изменит value текстарии.
|
danik.js,
Блин поверху ставишь такой же инпут - пусть скрипт меняет - сверху твой, видный пользователю! В конце- сделаешь нужный ченч значений и скрытие твоего фальшивого |
Скрипту пофиг какой сверху какой снизу. Он привязан к тому что изначально есть. Да и какая разница к чему там скрипты привязываются. Событий всеравно никаких не триггерится. Может всетаки как-то можно вернуть начальный дескриптор свойства value ? Как это value вобще работает? В инспекторе не видно никаких сеттеров-геттеров. Как тогда textarea обновляет свой вид? Магия?
|
Часовой пояс GMT +3, время: 20:28. |