试试以下例子:
<!DOCTYPE html>
<html>
<head>
<title>demo</title>
</head>
<body>
<input type="text" onkeydown="show()">
<script type="text/javascript">
function show(val) {
setTimeout( () => {
console.log('inner',document.getElementsByTagName('input')[0].value)
},0)
console.log('outer',document.getElementsByTagName('input')[0].value)
}
</script>
</body>
</html>
输出结果如下:
当把事件名改成keyup的时候,输入和input的value值就是同步的:
<input type="text" onkeyup="show()">
<script type="text/javascr