惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
U
Unit 42
F
Fortinet All Blogs
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
Y
Y Combinator Blog
罗磊的独立博客
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
I
InfoQ
博客园 - 叶小钗
博客园 - 聂微东
Last Week in AI
Last Week in AI

zodream梦想开源/个人编程日记

文件解析笔记-zodream梦想开源/个人编程日记 密码本开发笔记之读写与保存-zodream梦想开源/个人编程日记 SkiaSharp 把 pixel byte[] 转成 SKBitmap-zodream梦想开源/个人编程日记 nas 使用 Docker 安装 gogs-zodream梦想开源/个人编程日记 复制 android 手机中的文件到电脑-zodream梦想开源/个人编程日记 周报:寻找优质的周刊-zodream梦想开源/个人编程日记 开发日志:对Markdown的代码块新增引用来源支持-zodream梦想开源/个人编程日记 周报:怎么写技术类的教程文章-zodream梦想开源/个人编程日记 css display:flex 布局尺寸超出问题-zodream梦想开源/个人编程日记 周报:SEO优化的思考-zodream梦想开源/个人编程日记 Edge 浏览器不适用 Edge Image Viewer 打开图片 -zodream梦想开源/个人编程日记 SEO 学习笔记(一) 内容来源-zodream梦想开源/个人编程日记 PHP 实现双因素身份认证(2FA)-zodream梦想开源/个人编程日记 WPF MVVM 获取List 多选数据-zodream梦想开源/个人编程日记 Burp Suite 抓包-zodream梦想开源/个人编程日记 使用 indexnow 注意事项-zodream梦想开源/个人编程日记 Godot 使用字体图标 例如: Iconfont、FontAwesome-zodream梦想开源/个人编程日记 angular 15 对指定页面进行访问限制-zodream梦想开源/个人编程日记 CSS 使用 column-count 实现瀑布流出现内容分割的解决办法-zodream梦想开源/个人编程日记 input 确认按键事件在手机端不生效-zodream梦想开源/个人编程日记 C# 使用socket 进行通讯-zodream梦想开源/个人编程日记 Maui开发中Windows应用开启管理员权限-zodream梦想开源/个人编程日记 Maui 中自定义控件-zodream梦想开源/个人编程日记 angular 14 使用 ng-template 实现tree 结构显示-zodream梦想开源/个人编程日记 c# 动态安装和卸载dll-zodream梦想开源/个人编程日记 慎用 CompositionTarget.Rendering-zodream梦想开源/个人编程日记 c# 重写 c++ 程序笔记:数据初始化-zodream梦想开源/个人编程日记 源码编译 aseprite-zodream梦想开源/个人编程日记 记录一下字符串分隔split各语言之间的不同-zodream梦想开源/个人编程日记 c# Gzip解码无头内容-zodream梦想开源/个人编程日记
js 监听按键事件-zodream梦想开源/个人编程日记
zodream · 2021-07-09 · via zodream梦想开源/个人编程日记

js 监听按键事件

一个输入框

主要事件

onkeydown 按下一个按键时执行

onkeypress 按下键盘按钮时执行,不是适用于所有按键(如: ALT, CTRL, SHIFT, ESC)

onkeyup 释放键盘按钮时执行

监听所有按键事件

document.addEventListener('keydown', (event:  KeyboardEvent) => {

});

123

监听输入框按键事件

document.querySelector('input').addEventListener('keydown', (event:  KeyboardEvent) => {

});

123

KeyboardEvent 的主要属性

interface KeyboardEvent {
    readonly altKey: boolean;    // 按下了 alt 键
    readonly code: string;       // 按键的内容 例如 Enter KeyK,请注意手机上按键的确认键无法获取,区分左右按键 AltLeft
    readonly ctrlKey: boolean;   // 是否按住了 ctrl 键
    readonly key: string;        // 键名 例如 Enter、k 字母区分大小写
    readonly keyCode: number;    // 键的字符代码,已废弃的属性,不建议试用
    readonly shiftKey: boolean;  // 是否按住了 shift 键
    readonly metaKey: boolean;   // 是否按住了 win 键
}

123456789

使用建议

获取 字母按键 请使用 event.code

获取其他特殊按键(Enter、Tab) 请使用 event.key

例如:输入框确认事件

document.querySelector('input').addEventListener('keydown', (event:  KeyboardEvent) => {
    if (event.key === 'Enter') {
        // TODO 确认
    }
});

12345

监听复制快捷键

document.addEventListener('keydown', (event:  KeyboardEvent) => {
    if (event.ctrlKey && event.code === 'KeyC') {
        // TODO 复制
    }
});

12345

转载请保留原文链接: https://zodream.cn/blog/id/214.html