zoukankan      html  css  js  c++  java
  • js键盘事件以及键盘事件拦截

    一.键盘事件

    • onkeydown: 按下键盘时触发

    • onkeypress: 按下有值的键时触发

      注意: onkeypress按下 Ctrl、Alt、Shift、Meta 这样无值的键,这个事件不会触发对于有值的键,按下时先触发 keydown 事件,再触发这个事件

    • onkeyup:松开键盘时触发该事件

    二.组合键

    • ctrl相关
    • alt相关
    • meta (Mac键盘是一个四瓣的小花,Windows键盘是Windows键) 相关

    • shift相关

    写一个举例其他都类似

    比如ctrl+c

    window.onkeydown=function (e) {
        if (e.ctrlKey) {     //其他几个类似shiftkey,altkey,metakey
            if( e.key == 'c'){     //这里最好用keycode可以无视大小写,你要是区分大小写最好这样写
                console.log('ctrl+c')
            }
        }
    }
    
    //一般简写
    window.onkeydown=function (e) {
        if (e.ctrlKey&&e.key == 'c'){console.log('ctrl+c')}
    }

    资源搜索网站大全 https://www.renrenfan.com.cn 广州VI设计公司https://www.houdianzi.com

    三.拦截preventDefault

    比如拦截ctrl+h事件

    <script>
        window.onkeydown=function (e) {
            if (e.ctrlKey) {
                    if( e.key == 'h'){
                        console.log('ctrl+h')
                        e.preventDefault();
                    }
            }
        }
    </script>

    但是有些按键没法拦截具体为啥没有深究过也没用到过,比如 Chrome

    CtrlN
    CtrlShiftN
    CtrlT
    CtrlShiftT
    CtrlW
    CtrlShiftW
    //没法拦截
  • 相关阅读:
    Spring中的@AliasFor标签
    Redisson基本用法
    阿里开源的缓存框架JetCache
    动态页面技术(JSP)
    会话技术cookie&session
    HttpServletRequest
    HttpServletResponse
    request和response的中文乱码问题
    WEB简单的登录注册功能(分层)
    Servlet
  • 原文地址:https://www.cnblogs.com/xiaonian8/p/14124289.html
Copyright © 2011-2022 走看看