为什么用keydown/keypress都会慢一位呢,删除的时候多一位;而用keyup就不会呢

来源:3-3 编程练习

Elisa呀

2020-02-28 00:34:43

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>习题</title>

</head>


<body>

    <input type="text" value="">

    <p></p>

    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>

    <script>

        $(document).ready(function(){

            $('input').keydown(function(event){

                $('p').text($(this).val())

            })

        })

    </script>

</body>


</html>


写回答

2回答

好帮手慕星星

2020-02-28

同学你好,问题解答如下:

1、因为文字显示在输入框中,是在keyup阶段。否则在keydown/keypress阶段获取输入框的内容是当前输入内容前面的,所以会慢一位。

2、keypress事件不能对系统功能键(例如:后退、删除等,其中对中文输入法不能有效响应)进行正常的响应,所以删除时文字没有改变,其他两个事件是可以的。

3、代码中使用keyup事件就可以

http://img.mukewang.com/climg/5e58848b0927c13904230224.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

1

Elisa呀

提问者

2020-02-28

而且,为什么keypress不能删除呢

0

0 学习 · 14456 问题

查看课程