老师帮忙看下我的注释都对着没、有什么遗漏的吗,老师我还是想问问具体的keydown和keypress有什么区别
# 具体遇到的问题
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
在这里输入代码,可通过选择【代码语言】突出显示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>键盘事件</title>
<script type="text/javascript" src="../js/jquery.js"></script>
</head>
<body>
<input type="text" class="inputElement">
<script>
$(document).ready(function(){
$('.inputElement').keydown(function(event){
/*
键盘按下或放开时触发的事件
1.不管英文是大写还是小写event.keyCode的值都相同
如:event.key:a或者A,它们的event.keyCode都相同
2.keydown:一直按某字符键不会一直触发,而是定时触发,受输入法影响
辅助键都能监听的到*/
console.log(event.keyCode);//左上右下 37、38、39、40
console.log(event.key);//ArrowLeft、ArrowUp、ArrowRight、ArrowDown
console.log($(this));//input.inputElement
})
// $('.inputElement').keyup(function(event){
// console.log(event.keyCode);//左上右下 37、38、39、40
// console.log(event.key);//ArrowLeft、ArrowUp、ArrowRight、ArrowDown
// console.log($(this));//input.inputElement
// })
/*
键盘按下时触发--一直按着某字符键则会一直触发事件
1.keypress:区分英文大小写的keyCode值,大写a-97,小写a-65
2.受输入法影响,打中文字没反应
3.上下左右删除键等辅助按键不能监听到
*/
// $('.inputElement').keypress(function(event){
// console.log(event.keyCode);//左上右下 37、38、39、40
// console.log(event.key);//ArrowLeft、ArrowUp、ArrowRight、ArrowDown
// console.log($(this));//input.inputElement
// })
});
//keydown和keypress相同点及区别
/*
1.相同点:
两者都受输入法影响,中文输入都监听不到
两者的event.key都相同
2.不同点
keydown一直按着字符键不会都触发而是定时触发
keypress一直按着字符键就会都触发
keydown的英文字母的大小写的keyCode值都相同
keypress的英文字母的大小写的keyCode值则是Ascii码值
keydown能监听到辅助键如上下左右删除键等
keypress则监听不到辅助键
*/
</script>
</body>
</html>
正在回答
同学你好,针对问题进行回复:
1、这是浏览器的表现形式不一样,老师在Microsoft Edge浏览器中测试,keydown也是能被监听的到,
如下图所示:在input框中输入内容,触发一次keydown,再输入内容的时候,又会触发一次keydown;建议同学使用谷歌浏览器进行测试哦。
2、同学注释里的内容没有问题哦,非常棒!
祝学习愉快!
同学你好,注释中有3点是理解错误的哦,如下:
1、keydown中文输入的时候,能够监听到输入的字符;keypress中文输入的时候,监听不到输入的字符。如下图:
2、 keydown一直按着字符键是一直触发的,如下:
3、keydown是按键被按下时,触发keydown事件。
keydown跟keypress的区别中,同学整理的其中两点是正确的,老师给你总结一下:
(1)keydown中文输入的时候,能够监听到输入的字符; keypress中文输入的时候,监听不到输入的字符
(2)keydown的英文字母的大小写的keyCode值都相同;keypress的英文字母的大小写的keyCode值则是Ascii码值
(3)keydown能监听到辅助键如上下左右删除键等;keypress则监听不到辅助键
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星