按键事件在淘汰赛中不起作用

时间:2013-12-11 16:40:06

标签: jquery knockout.js knockout-2.0

当我按下键时,我无法将调试器转到方法CheckConfirmPassword,问题是什么。谢谢

html代码:

<div class="zseparatornext" data-bind="with: OrganiserObservable">
<div class="control-group">
            <label class="control-label" for="ConfirmPassword">Confirm Password</label>
            <div class="controls">
                <input id="ConfirmPassword" name="ConfirmPassword" class="input-large" type="password" data-bind="value: $parent.confirmPassword, valueUpdate: 'afterkeydown', event: { keypress: $parent.CheckConfirmPassword }">
                <span data-bind="text: PasswordMatch" />
            </div>
        </div>
 </div>

查看型号代码:

var CheckConfirmPassword = function (data, event) {
        alert("developping....");
    };

2 个答案:

答案 0 :(得分:0)

使用keyup而不是keypress,现在它将起作用。

答案 1 :(得分:0)

您无需在此处使用event绑定。

你的confirmPassword observable在keydown之后已经被更新了(换句话说:立即),只是根据它计算出来。

HTML

<input … data-bind="value: $parent.confirmPassword, valueUpdate: 'afterkeydown'">
<span data-bind="text: passwordsMatch" />

模型

function Model() {
    this.password = ko.observable();
    this.confirmPassword = ko.observable();
    this.passwordsMatch = ko.computed(function () {
        return this.password() === this.confirmPassword();
    }, this);
}

passwordsMatch在密码相等的瞬间为true