美文网首页前端JavaScript
复习笔记之API(8) 鼠标事件&&键盘事件

复习笔记之API(8) 鼠标事件&&键盘事件

作者: 晚月川 | 来源:发表于2020-04-18 09:12 被阅读0次

常用的鼠标事件补充

  • 禁止鼠标右键菜单

contextmenu主要控制应该何时显示上下文菜单,主要用于程序员取消默认的上下文菜单

// 禁用右键菜单 contextmenu
document.addEventListener('contextmenu', function(e) {
    e.preventDefault();
})
  • 禁止鼠标选中(selectstart 开始选中)
// 禁止选中文字 selectstart 
document.addEventListener('selectstart', function(e) {
    e.preventDefault();
})

鼠标事件对象

event对象代表事件的状态,跟事件相关的一系列信息的集合

  • MouseEvent鼠标事件对象
鼠标事件对象 说明
e.clientX 返回鼠标相对于浏览器可视窗口的X坐标
e.clientY 返回鼠标相对于浏览器可视窗口的Y坐标
e.pageX 返回鼠标相对于文档页面的X坐标 IE9以上支持
e.pageY 返回鼠标相对于文档页面的Y坐标 IE9以上支持
e.screenX 返回鼠标相对于电脑屏幕的X坐标
e.screenY 返回鼠标相对于电脑屏幕的Y坐标
// 鼠标事件对象
document.addEventListener('click', function(e) {
    // client 鼠标在可视区域的x坐标和y坐标
    console.log(e.clientX);
    console.log(e.clientY);
    // page 鼠标在页面文档的x坐标和y坐标
    console.log(e.pageX);
    console.log(e.pageY);
    // screen 鼠标相对于电脑屏幕的x坐标和y坐标
    console.log(e.screenX);
    console.log(e.screenY);
})

常用的键盘事件

键盘事件 触发条件
onkeyup 某个键盘按键被松开时触发 (按键弹起时触发)
onkeydown 某个键盘按键被按下时触发
onkeypress 某个键盘按键被按下时 触发 (但它不识别功能键ctrlshift箭头等)
// 常用的键盘事件
// keyup 按键弹起的时候触发
    // 传统注册方式
document.onkeyup = function() {
    console.log('按键弹起');
}
    // 事件监听方式(建议使用以后都使用这种方法)
document.addEventListener('keyup', function() {
    console.log('按键弹起');
})
// keydown 按键按下的时候触发(按下键触发,一直按着一直触发)
document.addEventListener('keydown', function() {
    console.log('按键按下keydown');
})
// keypress 按键按下的时候触发
document.addEventListener('keypress', function() {
    console.log('按键弹起keypress');
})
  • 如果使用addEventListener不需要加on
  • onkeypress和前面两个的区别是它不能识别功能键,比如左右箭头shift
  • 三个事件的执行顺序:keydown => keypress => keyup

键盘事件对象

  • KeyboardEvent键盘事件对象
// 键盘事件对象中的keyCode属性可以得到相应的键的ASCII码值
document.addEventListener('keyup', function(e) {
    // console.log(e);
    console.log(e.keyCode);
    // keyup和keydown事件不区分大小写  a和A得到的都是65
})
document.addEventListener('keypress', function(e) {
    console.log(e.keyCode);
    // keypress事件区分字母大小写  a返回97  A返回65
})
// 我们可以利用keyCode返回的ASCII值判断用户按下了哪个键
键盘事件对象(属性) 说明
keyCode 返回该键的ASCII值

onkeydownonkeyup不区分字母大小写,onkeypress区分字母大小写。实际开发中,我们更多的使用keydownkeyup,它们能识别所有的键(包括功能键),keypress不能识别功能键,但是keyCode属性能区分大小写,返回不同的ASCII值

相关文章

  • 复习笔记之API(8) 鼠标事件&&键盘事件

    常用的鼠标事件补充 禁止鼠标右键菜单 contextmenu主要控制应该何时显示上下文菜单,主要用于程序员取消默认...

  • day11 Pygame Ⅱ 事件处理2018-07-30

    一、Pygame中的事件 鼠标事件和键盘事件   监测鼠标、键盘事件 鼠标事件 键盘事件   二、鼠标事件的应用1...

  • 事件的分类

    事件分为鼠标事件,键盘事件,表单事件以及移动端事件,今天主要介绍一下鼠标键盘以及表单事件 鼠标事件 redDiv....

  • WPF之路-键盘与鼠标事件

    键盘事件 事件类型分为以下几个类型 生命周期事件:在元素加载与卸载的时候发生 鼠标事件:鼠标动作 键盘事件:键盘动...

  • JavaScript ☞ day3

    JavaScript基础学习笔记之JavaScript进阶 焦点事件 鼠标事件-单击与双击 鼠标事件-mouseo...

  • July 30-day13-Python中Pygame

    触碰事件 有鼠标、键盘等等 对鼠标事件的应用 鼠标点击事件的应用(对鼠标的拖拽) 字体动画的效果 键盘事件的应用 ...

  • jQuery事件(2)

    键盘事件 (一)、keydown()(鼠标按下)事件 & keyup()(鼠标弹起)事件 keydown事件:每次...

  • day19 pygame和多线程

    游戏中的事件1、 鼠标相关的事件鼠标事件要关注事件发生的位置:event.pos2.键盘事件键盘事件要关注哪个键被...

  • jQuery中的事件与动画

    一、基础事件(1)鼠标事件(2)键盘事件(3)window事件(4)表单事件 复合事件(1)鼠标光标悬停(...

  • 鼠标事件、键盘事件

    鼠标事件 click:单击事件。dblclick:双击事件。mousedown:按下鼠标键时触发。mouseup:...

网友评论

    本文标题:复习笔记之API(8) 鼠标事件&&键盘事件

    本文链接:https://www.haomeiwen.com/subject/lbtuvhtx.html