KnockoutJS - Обновление ViewModel OnChange значения текстового поля вместо параметров OnBlur
Я новичок в KnockoutJS, и мне нравится то, что я видел до сих пор.
В настоящее время, когда наблюдаемое свойство View Model привязано к
текстовое свойство текстового поля (тип ввода = текст), ViewModel
обновляется только в случае размытия текстового поля. Есть ли способ
обновить модель просмотра в событии изменения текстового поля? Я пытался
создание настраиваемого обработчика привязки при подключении события изменения
обработчик в текстовом поле в "init", но это как-то не сработало. Является
это правильно для достижения этой цели? Или есть более простой способ?
Ответы
Ответ 1
Вы также можете использовать привязку "значение" и добавить атрибут привязки valueUpdate
, чтобы указать, когда обновлять свой контроль:
Смотрите здесь: http://knockoutjs.com/documentation/value-binding.html
<p>Your value: <input data-bind="value: someValue, valueUpdate: 'afterkeydown'" /></p>
<p>You have typed: <span data-bind="text: someValue"></span></p> <!-- updates in real-time -->
<script type="text/javascript">
var viewModel = {
someValue: ko.observable("edit me")
};
</script>
Ответ 2
Выше не работает, пока скопируйте палочку с мыши, поэтому вам нужно передать события в valueUpdate.
как..
<p>Your value: <input data-bind="value: someValue, valueUpdate:['afterkeydown','propertychange','input']" /></p>
Попробуйте здесь http://jsfiddle.net/uJCQq/4/