Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   onpropertychange для IE<9 срабатывает когда текстовое поле изменяет сама программа (https://javascript.ru/forum/events/50634-onpropertychange-dlya-ie-9-srabatyvaet-kogda-tekstovoe-pole-izmenyaet-sama-programma.html)

PesBarbos 05.10.2014 14:06

onpropertychange для IE<9 срабатывает когда текстовое поле изменяет сама программа
 
Как добиться срабатывания onpropertychange для IE<9 только в том случае если значение текстового поля изменяет только сам пользователь, как это происходит в случае с oninput?

Может быть можно использовать какую нибудь хитрую проверку propertyName или как то объединить, если это вообще возможно, onpropertychange с событием нажатия клавиши...

danik.js 05.10.2014 14:51

Перед программным изменением ставишь флаг: ignoreChangeEvent = true. После - очищаешь. В обработчике его проверяешь.
Цитата:

Сообщение от PesBarbos
как то объединить, если это вообще возможно, onpropertychange с событием нажатия клавиши

А мож тогда просто не слушать propchange, а слушать keydown? Но keydown - не единственный способ юзера изменить значения. Есть еще cut/paste, drag/drop, удаление из контекстного меню, может еще чего.

PesBarbos 05.10.2014 19:51

Цитата:

Сообщение от danik.js
Перед программным изменением ставишь флаг: ignoreChangeEvent = true. После - очищаешь. В обработчике его проверяешь.

Спасибо! Извиняюсь конечно, но что такое ignoreChangeEvent, я нигде не смог найти описание.

danik.js 05.10.2014 19:58

Это твоя переменная, ты ее сам должен создать)

PesBarbos 05.10.2014 20:06

Цитата:

Сообщение от danik.js
Это твоя переменная, ты ее сам должен создать)

Всё понял :) Как я сам то не додумался.


Часовой пояс GMT +3, время: 23:33.