javascript-events – 输入keypress的Knockout事件绑定会导致奇怪的行为

长话短说,我想让用户在输入元素上输入enter并调用我的viewmodel中的某个方法.这是我的html输入:
<input id="searchBox" class="input-xxlarge" type="text" data-bind="value: searchText,valueUpdate: 'afterkeydown',event: { keypress: $parent.searchKeyboardCmd}">

这是我在vm中的方法

searchKeyboardCmd = function (data,event) { if (event.keyCode == 13) searchCmd(); };

一切正常,当我输入输入时调用searchCmd,但问题是我可以在输入中输入任何内容,即我输入输入的所有内容都将被忽略.预先感谢您的帮助.

解决方法

根据KO文档,如果您希望认操作继续,则必须从事件处理程序返回true.
searchKeyboardCmd = function (data,event) {
    if (event.keyCode == 13) searchCmd();
    return true;
};

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面