根据文档 (knockoutjs.com/documentation/submit-binding.html),knockoutjs 的提交绑定(bind)的优势在于它捕获了提交表单的替代方式,例如在输入文本框时按下回车键。
我的表单上有一个网格,一些用户正在尝试使用 enter 键从一个字段转到下一个字段。发生这种情况时有没有办法避免提交表单?
最佳答案
一种选择是添加 keypress
表单上的处理程序以及吸收输入键。它看起来像:
<form data-bind="event: { keypress: absorbEnter }, submit: test">
<div data-bind="absorbEnter: true">
<input data-bind="value: name">
<input type="submit" value="Go" />
</div>
</form>
js:
var viewModel = {
name: ko.observable("test"),
absorbEnter: function(data, event) {
return event.keyCode !== 13;
},
test: function() {
console.log("submitting", arguments);
}
};
ko.applyBindings(viewModel);
示例:http://jsfiddle.net/rniemeyer/FvZXj/2/
关于knockout.js - 有没有办法避免敲击时的提交绑定(bind)在按下回车键时发送表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10285154/