javascript - 如何获取输入以在更改时调用 KO 绑定(bind)函数?

标签 javascript knockout.js

我有一个 input 元素,每当 searchQuery 发生变化时,我想调用我的函数 searchQueryChanged:

<input placeholder="Search…" type="text" name="q" data-bind="value: searchQuery, event: {change:searchQueryChanged}" autocomplete="off" />  

在我的 View 模型中,这是 searchQuerysearchQueryChanged:

searchQuery = ko.observable('');

searchQueryChanged = function() {
    ....do some stuff....
},

但是,当我在 input 中键入内容时,我的函数不会被调用。有什么想法吗?

最佳答案

您说当您在文本框中键入内容时不会调用任何内容。我相信,对于更改事件,您必须将焦点从文本框移开,才能触发更改并调用您的函数。如果您打算在文本框中键入内容时调用 searchQueryChanged 函数,则可以尝试此操作,它将在每次按键后调用 searchQueryChanged ---

<input placeholder="Search…" type="text" name="q" data-bind="value: searchQuery, valueUpdate: 'keyup', event: { keyup: searchQueryChanged}" autocomplete="off" />

关于javascript - 如何获取输入以在更改时调用 KO 绑定(bind)函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22102867/

相关文章:

javascript - 如何在 JavaScript 中将 HTML 字符串分配给变量并轻松转义特殊字符

javascript - AngularJS:如何仅过滤具有特定 3 个字符值的项目?

javascript - knockout foreach 嵌套在 with 中

jquery - 使用 jQuery val() 更新 KnockoutJS 绑定(bind)文本框

javascript - 将现有模型传递给 knockout 组件绑定(bind)?

javascript - 访问父 Controller n 级更高

javascript - 使用 Rest API 进行 Firebase 身份验证

javascript - 使用ExternalInterface打开浏览器窗口,然后在其中编写HTML

javascript - 谷歌地图打开信息窗口不起作用

javascript - 异步帖子 - 处理回复