关于视频中老师讲课前言不搭后语的疑问

关于视频中老师讲课前言不搭后语的疑问

视频原话10:07秒:那我们都知道keypress里面对于这个keycode的支持是十分不稳定的,并且他是区分了很多浏览器的,所以说我们就给他采取了一种兼容性的写法。

然后老师就贴了一个兼容性的写法:getCharCode

那么到底是charCode不稳定还是keyCode不稳定?

到底是需要兼容多个浏览器的keyCode还是charCode?

希望老师给出答案,并给出详细讲解


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

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

2回答
_是你_ 2019-08-23 18:08:00

哈哈,老铁你纠结方法名也没啥用呀。这是js的作者规定的,不是咱们觉得应该叫啥就能改变的。与其纠结这些没意义的,不如多花时间多学点基础知识,记住方法和它的用法就行啦~~~

好帮手慕嘟嘟 2019-08-15 18:55:08

同学你好,

①  keypress事件中keyCode是不稳定哈。

举个例子:

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

打印结果显示s的键码值是83,
http://img1.sycdn.imooc.com//climg/5d5538b00001c26f09490307.jpg

将keyCode放到keypress中;

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

打印结果显示s的键码是115:

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

所以说:keypress事件中keyCode是不稳定哈。

②  这个兼容性的写法只是适用于keypress这个事件中哦,在keypress事件中如果浏览器支持charcode就返回charcode,如果浏览器不支持就返回keyCode。

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

如果还有疑惑,可以在问答区再次提问,我们会继续为你解答的。

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


  • 提问者 慕仔2276916 #1
    老师那我很想文为什么这个方法的名称叫getCharCode而不是叫getKeyCode?
    2019-08-21 09:30:49
  • 好帮手慕嘟嘟 回复 提问者 慕仔2276916 #2
    同学你好,方法名叫getCharCode的原因是,我们要在keypress的方法中获取ASCII码,为了见名之意所以就取getCharCode作为方法的名字。希望能帮到你~
    2019-08-21 11:49:06
  • 提问者 慕仔2276916 回复 好帮手慕嘟嘟 #3
    可是老师,event.charCode这个写法的意义是获取charCode。event.keyCode这个写法的意义是获取keyCode。但由于不稳定,所以我们不能直接通过event.keyCode的方式来获取keyCode,所以我们写的方法,他的意义是“稳定的方法来代替event.keyCode”也就是说:“稳定的方法来获取keyCode”。您也说见名知意,那不就应该叫getKeyCode嘛。而getCharCode()很明显是对event.charCode的一种自定义获取的方法。
    2019-08-23 14:01:48
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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