鼠标及键盘事件

鼠标及键盘事件

一、任务目标

掌握常用鼠标事件

掌握常用键盘事件及键盘事件属性


二、任务背景

我们与网页的交互大多是通过鼠标和键盘来触发的,了解并掌握鼠标及键盘事件可以帮助我们实现许多常用的交互效果。


三、任务内容

1、常用鼠标事件

名称描述
click单击鼠标左键触发。焦点在按钮并按了Enter键时,也会触发
contextmenu右键点击(右键菜单显示前触发)
dblclick双击左键触发
mouseenter指针移至元素范围内触发一次
mouseleave指针移出元素范围外触发一次
mouseover指针移至元素或其子元素内,可能触发多次
mouseout指针移出元素,或者移至其子元素内,可能触发多次

代码示例:

var btn = document.querySelector('button')
btn.addEventListener('mouseenter', function() { // 鼠标移入文字为红色
  this.style.color = 'red'
})
btn.addEventListener('click', function() {  // 鼠标单击文字为蓝色
  this.style.color = 'blue'
})
btn.addEventListener('mouseleave', function() { // 鼠标移出文字为黑色
  this.style.color = 'black'
})

事件处理程序中的this指代当前操作元素


2、常用键盘事件

名称描述
keydown按下任意按键,按住可连续触发
keypress
按下按键(包括字母,文字和Enter)触发,按住可连续触发,不能监听一些特殊按键(ALT、CTRL、SHIFT、ESC、方向键等
keyup释放任意按键

键盘事件经常用于表单元素中,如:input输入框

代码示例:

var input = document.querySelector('input')
input.addEventListener('keydown', function() {
  console.log('keydown', this.value) // 获取上一次输入值
})
input.addEventListener('keypress', function() {
  console.log('keypress', this.value) // 获取上一次输入值
})
input.addEventListener('keyup', function() {
  console.log('keyup', this.value) // 获取当前输入值
})

使用时注意触发顺序(keydown->keypress->keyup),不同的键盘事件触发时机不同,返回的结果有区别

3、常用键盘事件属性

使用键盘事件属性可以精确的控制键盘操作,如:回车触发,方向键触发

名称描述
keyCode
keyCode属性返回keypress事件触发的键的值的字符代码,或者keydownkeyup事件的键盘代码。
字符代码 - 表示ASCII字符的数字
键盘代码 - 表示键盘上真实键的数字
charCode返回keypress事件触发时按下的字符键的字符Unicode值,用于keydownkeyup时总是返回0
key返回按键的标识符(字母区分大小写)。keypresskeyupkeydown返回值相同

代码示例:

// 以输入a为例,分别查看三种事件返回结果
var input = document.querySelector('input')
input.addEventListener('keydown', function(event) {
  console.log(event.keyCode)      // 65
  console.log(event.charCode)	  // 0
  console.log(event.key)           // a
})
input.addEventListener('keypress', function(event) {
  console.log(event.keyCode)      // 97
  console.log(event.charCode)     // 97
  console.log(event.key)           // a
})
input.addEventListener('keyup', function(event) {
  console.log(event.keyCode)      // 65
  console.log(event.charCode)     // 0
  console.log(event.key)           // a
})

可以看到,三种事件中,只有key属性返回的结果保持统一,如果不考虑IE8以下浏览器兼容性,推荐使用key来代替keyCode和charCode

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HTML中的键盘鼠标事件是通过用户进行触发的一些行为。键盘事件包括按键按下、按键抬起、键盘按住等。鼠标事件包括点击、双击、鼠标移动、鼠标按下等。 在HTML中,可以通过监听的方式添加事件。例如,通过addEventListener方法可以为元素添加事件的监听器,并指定事件类型和处理函数。 常见的鼠标事件有: - 单击事件 (onclick): 当鼠标点击元素时触发。 - 双击事件 (ondblclick): 当鼠标双击元素时触发。 - 鼠标按下事件 (onmousedown): 当鼠标按下元素时触发。 常见的键盘事件有: - 键盘按下事件 (onkeydown): 当按下键盘上的任意键时触发,按住不放时会重复触发。 - 键盘抬起事件 (onkeyup): 当释放键盘上的按键时触发。 - 按键时事件 (onkeypress): 当按下一个字符键时触发,不包括Shift键和Alt键。按住不放时会重复触发。 通过添加相应的事件监听器,可以实现键盘鼠标事件的响应和处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [HTML中的DOM事件——鼠标事件、键盘事件、框架对象事件、表单事件](https://blog.csdn.net/weixin_44867717/article/details/125632882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [鼠标+键盘+HTML事件(22)](https://blog.csdn.net/weixin_34150830/article/details/92095218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值