我试图在按键事件绑定(bind)的处理函数中获取输入元素的值
<input data-bind="textInput: searchInput, event: { keypress: filterList }" type="text" placeholder="Search..">
var ViewModel = function() {
self.searchInput = ko.observable("");
self.filterList = function(input) {
console.log(input);
return true;
}
};
这不是打印输入字段的值,而是打印 ViewModel 对象。
如何在 filterList 处理函数中获取每次按键时输入字段的值?
最佳答案
由于您将 input
存储到 self.searchInput
中,并且它是一个 observable
,因此您可以直接在 内部使用它filterList
处理程序 -
var ViewModel = function() {
var self = this;
self.searchInput = ko.observable("");
self.filterList = function() {
console.log(self.searchInput());
return true;
}
};
此外,我想说将 keypress
事件更改为 keyup
,因为它可以提供更准确的结果(至少在我的 fiddle 中)。
<input data-bind="textInput: searchInput, event: { 'keyup': filterList }" type="text" placeholder="Search..">
关于javascript - 无法访问knockoutjs中事件绑定(bind)中的当前项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41157840/