想知道是否有人可以帮助我解决keyup和keydown之间的差异以及他们为什么不以同样的方式工作?
我在这里有一个jsfiddle,我在做一些例子 https://jsfiddle.net/m9wcn982/1/
HTML:
<div id="exercise">
<div>
<input type="text" v-on:keyup="listen">
<p>{{ value }}</p>
</div>
<div>
<input type="text" v-on:keydown="listen">
<p>{{ value }}</p>
</div>
</div>
使用Javascript:
new Vue({
el: '#exercise',
data: {
value: ''
},
methods: {
listen: function(){
this.value = event.target.value;
}
}
});
为什么keydown落后1个字符,而keyup总是输出在按下它后立即输入的键,例如,我输入&#34; foo&#34;进入第二个盒子,但只得到了#34;#34;作为一种价值。但如果我输入&#34; foo&#34;进入我得到的第一个盒子&#34; foo&#34;作为价值。
答案 0 :(得分:1)
keydown
是第一次按下按键的时间。该元素的价值尚未改变。这是一种可以取消更改值的方法。
keyup
是它被释放的时间,并且在2之间,元素的值已经发生变化。
答案 1 :(得分:0)
当用户按下某个键时,会激活keydown和keyup事件。
keydown
:用户按下某个键时触发。当用户按下键时,它会重复。
keyup
:在用户释放密钥后,在执行该密钥的默认操作后触发。