我使用viewmodel变量绑定一个html输入元素,使用viewmodel函数变量绑定一个事件绑定。 我可以在事件绑定函数中检索输入的值。代码如下。 在一起做这两件事时是否存在问题。
Markup
<input id="txtSearch" type="text" data-bind="value: SearchText, event:{ keyup:SearchTextChange}" style="width: 100px;" />
ViewmodelCode
self.SearchTextChange = function () {
alert(self.SearchText());
}
答案 0 :(得分:1)
试试这个:
<input id="txtSearch" type="text" data-bind="value: SearchText, event:{ keyup:SearchTextChange}, valueUpdate: 'afterkeydown'" style="width: 100px;" />
值在keyup上不会改变,你只会抛出一个警告 - 默认情况下在焦点丢失后值会发生变化,这会改变它。
更多信息:http://knockoutjs.com/documentation/value-binding.html 如果其中一些更适合您的情况,还有更多的valueUpdate选项。