2014-10-28 2 views
0

Я прочитал How do I detect any change to a textarea? и Textarea onchange detection, но это не отвечает на мой вопрос. Я использую функцию для загрузки содержимого нескольких полей ввода и текстового поля через вызов AJAX. Я знаю, что могу просто прикрепить вызов функции к концу func, который выполняет вызов, и изменяет его содержимое, но он все еще не решает мою проблему, потому что нажатие на кнопку формы «Сброс» не вызывает «oninput», , или "oncut", или "onpaste", или "oncopy". Есть ли событие, которое срабатывает, когда возникают программные изменения в текстовом поле или ввод? Или мне просто нужно вручную его взломать?Как обнаружить (программные) изменения в textarea?

+2

Не могли бы вы просто приложить ту же функцию к действию сброса формы? –

+0

Да, но это то решение, которое я хочу избежать. Если бы я использовал большое количество кнопок или функций, которые вносили разные изменения в одно и то же текстовое поле, для каждого из них требовалось также запустить функцию, тогда как если бы это был жизнеспособный прослушиватель/событие типа oncontentchange, то это сделало бы его тривиальным - всего один вызов функции. – insaner

+0

Проще всего добавить его в функцию сброса или любую другую имеющуюся у вас функциональность. Если это не вариант, вы можете посмотреть на мутации, но это становится довольно сложным, если вы хотите поддержку кроссбраузером. – orhanhenrik

ответ

0

Единственное, что я могу предложить, это добавить атрибут данных в текстовое поле. В ваших программных обновлениях сохраняются как синхронные. Затем вы можете проверить наличие обновлений.

<textarea data-p-value="" value=""></textarea> 
Смежные вопросы