Как предотвратить срабатывание события input/textinput при вводе с помощью метода ввода?

Я пытаюсь понять ценность input элемент каждый раз, когда его значение менялось. changeтребует размытия элемента, поэтому в моем случае это не подходит. Я столкнулся с этим событием изменения Javascript в элементе ввода, который срабатывает только при потере фокуса, и принятый ответ частично решил мою проблему. Согласно скрипке, событие, которое я должен наблюдать, это

      $('#name').bind('DOMAttrModified textInput input change keypress paste focus', function () {
.....
})

Однако это не так хорошо работает с символами, для ввода которых требуется метод ввода. Например, чтобы ввести китайский символ «長», я бы нажал «c», «h», «a», «n», «g», а затем «пробел», все эти нажатия клавиш записываются и запускают события. нежелательно - я хочу поймать только «長» в качестве входного значения, а триггер должен срабатывать только тогда, когда этот символ появляется в текстовом поле ввода.

Я пробовал разные комбинации событий, но ни одно из них не работает. Есть ли способ обойти это?

1 ответ

Теоретически вы можете использовать событие CompositionEnd , которое запускается после завершения последовательности:

Другие вопросы по тегам