在我的 viewmodel 的 viewAttached(后 DOM 加载)中,我有以下内容:
viewAttached: function () {
$('.auth-input').keydown(function (e) {
debugger;
var check = auth.showRegistering();
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13 && auth.showRegistering()) {
alert("trying!");
auth.register();
}
else if (code == 13 && auth.showRegistering() == false) {
auth.logIn();
}
});
},
这适用于所有字段,除了隐藏在 if 语句后面的字段:
<input data-bind="value: email" class="span2 auth-input" type="text" placeholder="Email">
<input data-bind="value: password" class="span2 auth-input" type="password" placeholder="Password">
<!-- ko if: showRegistering -->
<input data-bind="value: passwordConfirm" class="span2 auth-input" type="password" placeholder="Password Confirm">
<!-- /ko -->
似乎 keydown 操作识别了前两个输入,因为它们在 DOM 加载时可见,但另一个字段最初不可见。
这是一个精简的小提琴来演示我正在尝试的内容:
有没有办法在第三个输入中捕捉按键?