在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ keydown事件的疑惑

keydown事件的疑惑

兩個(gè)input框,對(duì)其中一個(gè)輸入框監(jiān)聽(tīng)keydown事件,將其值賦給給另一個(gè)框,但是值總是差一位,用keyup事件沒(méi)有問(wèn)題

clipboard.png

<div class="test">
    <input class="test1" type="text" name="test1">
    <input class="test2" type="text" name="test2">
</div>
<script type="text/javascript">
    var test1 = document.getElementsByClassName('test1')[0];
    var test2 = document.getElementsByClassName('test2')[0];

    test1.addEventListener('keydown', function(e) {
        test2.value = e.target.value;
    })
</script>
回答
編輯回答
櫻花霓

keydown事件觸發(fā)在文字還沒(méi)敲進(jìn)文本框,這時(shí)如果在keydown事件中輸出文本框中的文本,得到的是觸發(fā)鍵盤事件前的文本,而keyup事件觸發(fā)時(shí)全部鍵盤事件的操作已完成,獲得的是觸發(fā)鍵盤事件后的文本。關(guān)于輸入框發(fā)生的事件流程依次為focus、keydown、input、keyup、change與blur。
查看了別人的文章,貼出他們的鏈接吧鏈接1鏈接2

2018年9月13日 13:36
編輯回答
心夠野

你可以試一下延遲到下一輪事件循環(huán)再執(zhí)行
setTimeOut(function() {test2.value = e.target.value;},0)

2017年8月26日 22:41