Enter 需要按两次才能触发,KnockoutJS with knockout.validation.js

Enter needs to be pressed twice to trigger, KnockoutJS with knockout.validation.js

我正在构建一个表单页面,当我想实现一个 "enter-key" 函数来同时触发验证和方法时,我遇到了困难。

Here's a JS-Fiddle of the example

如您所知,您需要按两次 Enter 才能触发该方法。我相信 knockout.validation 有自己的事件绑定,也许这就是

的原因
<input type="text" data-bind="event: {'keypress': enterKey}, value: customer.telephone">
<input type="button" data-bind="click: sendCustomer" value="send">

enterKey = function (d, e) {
        if (e.keyCode == 13) {
            alert("enter has been pressed..");
            sendCustomer();
        }
        return true;
    }

keypress 和 keyup 是有区别的。这 link 可能会有用。

所以我用 keyup 替换了 keypress

<input type="text" data-bind="event: {'keyup': enterKey}, value: customer.telephone">

好像working.Hope这对你有帮助。

JSFIDDLE