为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的输入中午之后再输入数字还是无法显示?

 $('.target1:first').keypress(function(e) {

        $("em:first").text(e.target.value) 

    });

     $('.target1:last').keydown(function(e) {

        $("em:last").text(e.target.value) 

    });

问题1:keypress()

Q1:都说输入中文之后再按数字或者字母等单字符可以得到结果,可是我输入数字没反应,用自己的编辑器试也没反应,浏览器的问题??我换了浏览器也没用。

Q2:关于keypress的删除问题,删除字符为什么对输出没影响?除非再输入,才会看到输出的相应改变。原理是什么?


问题2:keydown()

我输入了”你好“之后按了删除键删去了”好“,但是这个时候反而输出了”你好“,怎么理解。是删除——》触发事件输出”你好“——》删除”好“?这样理解吗?

http://img1.sycdn.imooc.com//5a9a16e10001d6ce02590206.jpghttp://img1.sycdn.imooc.com//5a9a16ea0001d05f02990204.jpg

正在回答

2 回答

输入中文,之后按enter可以显示,不知道怎么回事 

0 回复 有任何疑惑可以回复我~

keypress: Q1: 重新打开浏览器再试下;Q2: 因为keypress不监听删除,所以输出不会有变化;但是你用了删除,后面又输入了字符,就会重新显示,因为输出的结果是e.data,比如:你好吗1,你删除只剩你好,但输出不会有变化,但你在之后又加了一个1,这时的e就是你好1,不会是你好吗11,因为最后的e变了。

keydown: Q1: 因为keydown就是触发前的文本,相当于滞后一步

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的输入中午之后再输入数字还是无法显示?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信