所以我正在使用输入,需要获取键码,所以我尝试使用onkeypress
。但是,我还需要更新的值,该值在触发keypress
事件时实际上并没有。
因此,我尝试使用oninput
,但是,尽管有输入的更新值,但它没有注册keyCode
。
现在,我正在使用这两个事件,但想知道是否有一个包含keyCode
和更新的input
的包罗万象的事件。
$("#test").on('keypress', () => {
console.log("keypress value: ", event.target.value);
});
$("#test").on('input', () => {
console.log("input value: ", event.target.value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="test" />
最佳答案
您可以使用keyup
事件。这将同时给您keycode
和updatedValue
$("#test").on('keyup', function(e) {
console.log(e.keyCode, this.value)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="test" />
当您键入一个键时,发生以下事件
按键按下:这将记录正在按下的按键。如果要防止键入任何键,请在此处阻止它。
按键:这将记录正在按住的键。其值在keyDown上设置,并在keyUp上擦除。
按键向上:这是您松开按键并完成事件链的时间。这是更新值的事件。
关于javascript - onkeypress与oninput如何获得两全其美,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43488429/