• js中的键盘事件和触摸事件


    一、键盘事件
    键盘事件不能绑定某个标签,必须是window或document两个使用效果完全一致。可以获取焦点的标签:input select textarea button a 。。。

    1、keydown 按下按键触发,如果一直按着,会一直触发

    //按下键盘任意按键,触发事件
    window.onkeydown = function(){
      console.log(12);
    }
    //按下键盘任意按键,触发事件
    document.onkeydown = function(){
      console.log(34);
    }

    2、keyup 按键抬起事件

    //按下键盘任意键后,松开后才会触发,一直按着不会触发,如果同时按着多个,松开任意一个也会触发
    window.onkeyup = function(){
        console.log(12);
    }
    //按下键盘任意键后,松开后才会触发,一直按着不会触发,如果同时按着多个,松开任意一个也会触发
    document.onkeyup = function(){
        console.log(34);
    }

    3、标签添加相关事件

    //标签上添加事件
    var oDiv = document.querySelector('div');
    //对象.onkeydown/onkeyup
    oDiv.onkeydown = function(){
        console.log(56);
    }

    4、按键的事件对象
    e.key 存储按下的按键名称(数字键盘不做区分)
    e.keycode 每个按键对应一个数值,不会重复,使用这个来区分每个按键,低版本火狐需要做兼容处理:var 变量 = e.keycode || e.which

    window.onkeydown = function(e){
        console.log(e);
    }

    5、按键组合
    ctrl alt shift + 其他组合按键

    事件对象e中有3个属性
    ctrlKey 按下 ctrl 结果是 true 没有按结果是false
    altKey 按下 alt 结果是 true 没有按结果是false
    shiftKey 按下 shift 结果是 true 没有按结果是false

    //判断按下按键时ctrl + e(69)
    window.onkeydown = function(e){
        if(e.ctrlKey == true && e.keycode == 69){
            console.log('同时按下ctrl键和e键')
        }
    }    

    二、触摸事件(主要用于移动端)
    touchstart 触摸开始
    touchend 触摸结束
    touchmove 触摸移动
    其他事件就是这三个事件的组合使用
    1、长按: 触摸与结束时间差大于(1秒或者0.5秒,浏览器规定的,跟js没关)

    2、轻触: 触摸时间小于100毫秒
    3、左移:触摸开始,触摸结束,坐标差

    4、特殊事件:
    当过度结束时:transitionend 当过度结束时
    当动画结束时: animationend 当动画结束时

    // 有几个执行的属性,程序就执行几次操作
    var oDiv = document.querySelector('div');
    oDiv.ontransitionend = function(){
        console.log('过度结束了')
    }
    A True Master Is An Eternal Student(真正的大师总是怀着一颗学徒的心) ------(Master Yi)
  • 相关阅读:
    scss-数据类型
    scss-@import
    scss-&父选择器标识符
    scss-嵌套属性
    Python之NumPy(axis=0 与axis=1)区分
    Java map 详解
    java之JDBC多条语句执行
    p-value值的认识
    numpy.random之常用函数
    Python random模块sample、randint、shuffle、choice随机函数
  • 原文地址:https://www.cnblogs.com/karl-kidd/p/12617231.html
Copyright © 2020-2023  润新知