5
根据文档(knockoutjs.com/documentation/submit-binding.html),knockoutjs的提交绑定具有捕获提交表单的替代方法的优点,例如在键入文本框时按Enter键。 我的窗体上有一个网格,一些用户正在尝试使用Enter键从一个字段转到另一个字段。发生这种情况时是否有办法避免提交表单?有没有办法可以避免knockoutjs的提交绑定在按下回车键时发送表单?
根据文档(knockoutjs.com/documentation/submit-binding.html),knockoutjs的提交绑定具有捕获提交表单的替代方法的优点,例如在键入文本框时按Enter键。 我的窗体上有一个网格,一些用户正在尝试使用Enter键从一个字段转到另一个字段。发生这种情况时是否有办法避免提交表单?有没有办法可以避免knockoutjs的提交绑定在按下回车键时发送表单?
一种选择是在窗体上添加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);
是瑞安,是绝对的工作!谢谢。 – jgarza 2012-04-23 20:19:40
甚至可以将它添加到一个bindingHandler以将其从视图模型中取出,如下所示:http://jsfiddle.net/rniemeyer/FvZXj/3/ – 2012-04-23 20:27:24
KO可以区分键和键吗? – FutuToad 2013-03-18 11:29:40