Есть ли простой способ использовать data-bind="textInput: aProperty"
и добавить маску ввода или автоматическое форматирование по мере ввода пользователем?
Использование плагина маскированного ввода работает, но я теряю ", которые обеспечивает "textInput:" Knockout, поэтому другие части скрипта видят изменение только после того, как поле теряет фокус (фактически ведет себя как старая простая привязка "value:" в Knockout).
Наивное решение с вычисляемым наблюдаемым, которое выполняет форматирование, не работает, потому что каждое нажатие клавиши в поле, которое обновляет себя, изменяет фокус ввода на какое-то другое место на странице, поэтому пользователь не может продолжать печатать.
Могу ли я сделать так, чтобы эти две библиотеки хорошо взаимодействовали друг с другом, или мне нужно сделать собственное решение? Они делают много вещей в своих обработчиках событий, чтобы быть совместимыми со всеми браузерами, поэтому неудивительно, что их сложно заставить работать вместе, но именно поэтому я не хочу возиться со всеми этими keyup, input , изменение, события сам.
Все предыдущие ответы на StackOverflow не возражают против распространения изменений только после того, как поле потеряет фокус. Возможно, эти ответы были опубликованы до того, как textInput был добавлен в Knockout, поэтому в то время не было ничего лучше. Вот почему я задаю новый вопрос.