为什么不jQuery.keydown
触发我输入的第一个字母?
<input id="foo" type="text">
<div></div>
$("#foo").on('keydown', function(e){
$("div").text(this.value);
});
我只看到它在第二次按键时触发,而不是第一次。
为什么不jQuery.keydown
触发我输入的第一个字母?
<input id="foo" type="text">
<div></div>
$("#foo").on('keydown', function(e){
$("div").text(this.value);
});
我只看到它在第二次按键时触发,而不是第一次。
我不确定您是否正在寻找解决方案,但您可以使用:
$("#foo").on('keyup', function(e){
$("div").text(this.value);
});
如果你真的需要在keydown
事件中进行更新,你可以从看起来像这样的东西开始,但在很多情况下这不会按预期工作。您将不得不使用 e.keyCode 值管理许多异常
$("#foo").on('keydown', function(e){
var content = $("div").text();
$("div").text(content+String.fromCharCode(e.keyCode));
if (e.keyCode==8) { $("div").text(content.slice(0,-1)); }
});