我对KnockoutJS很新,我喜欢到目前为止所看到的。 当前,当视图模型的可观察属性被绑定时 文本框的文本属性(输入类型=文本),ViewModel 仅在文本框的模糊事件上更新。有办法吗? 更新文本框更改事件的视图模型?我试过了 在连接change事件时创建自定义绑定处理程序 处理器在“init”的文本框中,但它以某种方式不起作用。是 这是否正确实现这一目标?或者有更简单的方法吗?
答案 0 :(得分:22)
您还可以使用“值”绑定并添加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>
答案 1 :(得分:7)
从鼠标复制粘贴时,上面不起作用,因此您需要在valueUpdate中传递事件。 像..
<p>Your value: <input data-bind="value: someValue, valueUpdate:['afterkeydown','propertychange','input']" /></p>
答案 2 :(得分:0)
根据official Knockout.js documentation:
从输入中即时获取值更新:如果您试图将或绑定到视图模型以获取即时更新,请使用textInput binding。与valueUpdate选项的任何组合相比,它对浏览器边缘情况的支持更好。