onkeypress 事件会在键盘按键被按下并释放一个键时发生 为什么是错误的?

onkeypress 事件会在键盘按键被按下并释放一个键时发生 为什么是错误的?

问题是 说法正确的是:     我选择了这个 结果却是错误??

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
Miss路 2018-09-07 18:06:02

 可能同学的操作有点问题,我再详细跟你说一下哈:

1、同学先运行以下代码,在第一个输入框中按下键盘中的任意一个键,会看到马上就弹出了一个提示框。然后再在第二个输入框中输入按下任意键,同样别松手,弹出框是不会弹出来的,当你松手后才会弹出。这就是onkeypress 和onkeyup 的区别。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <input type="text" id="Oname" placeholder="onkeypress">
    <input type="text" id="Otext" placeholder="onkeyup">
    <script>
    var Oname = document.getElementById("Oname");
    var Otext = document.getElementById("Otext");
    Oname.onkeypress = function() {
        console.log("一按下我就触发了!");
    }
    Otext.onkeyup = function() {
        console.log("你按下,然后松手之后我才能触发!");
    }

    </script>
</body>
<html>

由于技术的更新和网站内容的迭代,可能每个网站都会多多少少出现一些失误,这都是正常的现象,网站知识的迭代更新都是需要一个周期的。当你发现各个网站的说法有差距的时候,一定要以自己的测试结果为最终定论,因为别人的说法和定论可能是许久之前的,也可能是猜测的,所以一定要以自己的真实测试结果作为最终定论。

2. 如果把以上代码中的onkeypress替换成onkeydown 结果是一样的,都是在按下键盘的时候就触发了,都不用松手就能马上触发,可以对比着onkeyup看一下效果。

有的时候不太能理解的时候,可以先把结果总结进行记录,根据实际的需求进行选择性的使用,等到后面,用的次数越来越多的时候,就会慢慢理解。

加油,你是一个特别爱思考的童鞋,很棒!

如果帮助到了你,欢迎采纳!


提问者 天天保持学习 2018-09-07 17:05:31

http://img1.sycdn.imooc.com//climg/5b923f1200017bd203840089.jpg

http://img1.sycdn.imooc.com//climg/5b923f12000127e003840062.jpg

这两个我是通过 W3C 和 菜鸟驿站 给到的定义   我之所以有很大的疑问也是因为 W3C属于权威性的网站了,所以想知道 是老师弄错了 还是W3C弄错了

  • 提问者 天天保持学习 #1
    菜鸟教程 不是菜鸟驿站 打错字了
    2018-09-07 17:05:57
妮可妮可妮_ 2018-09-07 16:34:54
<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>onkeypress</title>
</head>

<body>
<input type="text" id="name">
<script>
var name = document.getElementById("name");
document.onkeypress = function () {
alert("输入的内容");
}
</script>
</body>

</html>

同学可以复制代码进行测试哦~当键盘按下的时候就会触发,

祝学习愉快!

  • 提问者 天天保持学习 #1
    亲, 看清楚我的问题 onkeypress 事件会在键盘按键被按下并释放一个键时发生 我是验证了这句话是真的 才会有疑问 为什么慕课网说是错的
    2018-09-07 16:38:55
  • 妮可妮可妮_ 回复 提问者 天天保持学习 #2
    同学要看清楚哦~经过测试代码,使用onkeypress 事件,会在键盘按键被按下的时候就会被触发,所以正确答案为:onkeypress事件会在键盘按下时发生,和在输入框中输入内容时,先弹出提示框再出现输入框中输入的文本
    2018-09-07 16:42:06
  • 提问者 天天保持学习 回复 妮可妮可妮_ #3
    如果把以上代码中的onkeypress替换成onkeydown 结果是一样的 我找了好多资料和博客; 因为我现在也确实没有好的例子证明 onkeypress 无法系统按钮。 onkeydown 捕获的 keyCode 不区分字母大小,而 onkeypress 区分。 这两点我做了代码尝试 是确定的。
    2018-09-07 17:03:47
妮可妮可妮_ 2018-09-07 11:21:31

onkeypress与onkeydown类似 ,在键盘被按下时触发  . 同学可以按照代码测试一下 , 才会记忆深刻哦 ,祝学习愉快 !

  • 提问者 天天保持学习 #1
    onkeypress 事件会在键盘按键被按下并释放一个键时发生 问题这个是对的啊?我去看了W3C 菜鸟教程 和自己尝试 确实是会在按下并释放的时候触发啊 那么为什么慕课网的练习题 说这句话是错的呢 是老师出题错误 还是有我什么没理解的地方呢 onkeydown这个要比onkeypress少一个并释放的前提
    2018-09-07 14:53:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师