如何在输入标签文本发生变化时发出警报

时间:2013-02-26 12:29:51

标签: knockout.js

我想知道是否可以触发一个函数,该函数会提示输入文本中的实际文本。

例如

<input type="text" data-bind="value: searchText"/>

现在,如果你在输入框中写了一些东西,应该调用一个函数来激活一个消息框,其中包含你在输入框中写入的值,而不会使输入框无法聚焦

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找value binding:valueUpdate选项,您可以在其中指定其他事件来更新您的observable而不是默认的更改事件:

<input type="text" data-bind="value: searchText, valueUpdate: 'afterkeydown'"/>

然后您订阅了searchText的更改

this.searchText.subscribe(function(newValue) {
   //Do something when the user types soemthing
});

但也许你需要throttle extender才能在每次按键时触发事件:

this.searchText = ko.observable('').extend({ throttle: 500 });