输入需要按两次才能触发,KnockoutJS使用knockout.validation.js

时间:2015-11-11 09:25:56

标签: javascript knockout.js knockout-validation

我正在构建一个表单页面,当我想实现一个“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;
    }

1 个答案:

答案 0 :(得分:1)

按键和按键之间有区别KEYUP。这个link可能很有用。

所以我用keyup替换了按键

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

它似乎正在起作用。希望这会对你有所帮助。

JSFIDDLE