JavaScript-筑基(十八)键盘事件
onkeyup | 某个键盘按键被松开时触发 |
onkeydown | 某个键盘按键被按下时触发 |
onkeypress | 某个键盘按键被按下时触发,但是它不识别功能键盘,比如ctrl、shift、箭头等 |
document.onkeyup = function(){ //使用console.log(11);}document.addEventListener('keyup',function(){console.log(22);})
三个事件有执行顺序,keydown--keypress--keyup。
键盘事件对象
键盘事件对象中的keyCode属性可以得到相应键的ASCII码值,以此来判断用户按下了哪个键。(现在已经使用 e.key=='a' 来判断是否按下a)
keyup 和keydown事件不区分字母大小写 a 和 A 得到的都是65; keypress 事件 区分字母大小写 a返回97 和 A返回的是65;
document.addEventListener('keydown',function(e){if(e.keyCode == 65){alert('你按下了a键');}})
案例:模拟京东按键输入内容,当按下s键,光标就自动定位到搜索框
搜索框获得焦点: 使用 js 里面的 focus() 方法
<input type="text"><script>var search = document.querySelector('input');document.addEventListener('keyup',function(e){ //如果使用keydown会导致按下时聚焦并同时输入了sif(e.keyCode == 83){search.focus();}})</script>
案例:模拟京东快递单号查询,当在文本框输入内容时,文本框上面自动显示大字号内容。
- 输入内容时,上面大字号字体盒子(con)显示(这里的字体更大)
- 表单检测用户输入:给表单添加键盘事件
- 同时把快递单号里面的值(value)获取过来赋值给con盒子(innerText)做为内容
- 当失去焦点就隐藏这个盒子,获得焦点就显示这个con盒子
<style>* {margin: 0;padding: 0;}.search {position: relative;width: 178px;margin: 100px;}.con {display: none;position: absolute;top: -40px;width: 171px;border: 1px solid rgba(0, 0, 0, .2);box-shadow: 0 2px 4px rgba(0, 0, 0, .2);padding: 5px 0;font-size: 18px;line-height: 20px;color: #333;}.con::before {content: '';width: 0;height: 0;position: absolute;top: 28px;left: 18px;border: 8px solid #000;border-style: solid dashed dashed;border-color: #fff transparent transparent;}</style>
<div class="search"><div class="con">123</div><input type="text" placeholder="请输入您的快递单号" class="jd"></div><script>var con = document.querySelector('.con');var jd_input = document.querySelector('.jd');jd_input.addEventListener('keyup',function(){ //keydown和keypress在文本框里面的特点:触发时,文字还未落入文本框,就会导致事件先执行而文字后落入if(this.value == ''){//keyup事件发生时,文字已经落入文本框了con.style.display = 'none';}else{con.style.display = 'block';} con.innerHTML = this.value;})jd_input.addEventListener('blur',function(){con.style.display = 'none';})jd_input.addEventListener('focus',function(){if(this.value !== ''){con.style.display = 'block';}})</script>
DOM学习暂告一段落了
JavaScript-筑基(十八)键盘事件相关推荐
- JavaScript学习(二十八)—事件冒泡和事件捕获
JavaScript学习(二十八)-事件冒泡和事件捕获 一.什么是事件流? 简单说,事件流就是指事件的执行顺序,他包含两种模式:事件冒泡.事件捕获. (一).事件冒泡 最常用的一种模式,就是指事件的执 ...
- js--鼠标点击移动松开事件、滚轮事件、键盘事件
目录 1.推拽 2.滚轮事件 3.键盘事件 1.推拽 <!DOCTYPE html> <html><head><meta charset="UTF- ...
- JavaScript学习(十八)--鼠标事件(鼠标点击松开移动效果)
目录 鼠标的单击事件 鼠标的松开或按下事件 鼠标的移入/移出事件 鼠标移动事件 鼠标单击事件和鼠标双击事件 鼠标拖拽事件 鼠标和键盘事件是在页面操作中使用最频繁的操作,可以利用鼠标事件在页面中实现鼠标 ...
- JavaScript学习第十六天(键盘事件、表单事件、拖拽事件、框架事件、媒体事件)
文章目录 键盘事件 表单事件 剪贴板事件 拖拽事件 打印事件 框架事件 媒体事件 总结 键盘事件 onkeydown 键盘按下事件,当有按键按下时触发 onkeyup 键盘松开事件,当有按键被松开时触 ...
- JavaScript 编程精解 中文第三版 十八、HTTP 和表单
十八.HTTP 和表单 原文:HTTP and Forms 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了<JavaScript 编程精解(第 2 版)> ...
- JavaScript学习(二十六)—事件处理程序的添加与删除
JavaScript学习(二十六)-事件处理程序的添加与删除 一.什么是事件? 所谓事件就是指用户或页面自身的某些行为,如点击鼠标,敲击键盘都是属于事件. 二.事件处理程序 当事件被触发时会引起某些程 ...
- 【JavaScript 逆向】猿人学 web 第十八题:jsvmp,洞察先机
案例目标 网址:第十八题 jsvmp 洞察先机 - 猿人学 本题目标:抓取 5 页数字,计算加和并提交结果 常规 JavaScript 逆向思路 一般情况下,JavaScript 逆向分为三步: 寻找 ...
- JavaScript绑定键盘事件的多种写法
使用JavaScript来绑定键盘事件时,有多种写法,而他们的实现效果实际上是等价的,下面一一来列举. 方式一: function keyboard() {document.onkeydown = f ...
- JavaScript基础14-day16【事件委派、事件绑定、事件传播、滚轮事件、键盘事件、键盘移动div】
学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...
最新文章
- 轻量级git服务器 Gogs git 服务器搭建
- ASP.NET 学习笔记_13 文章发布管理小系统
- java不可变量有哪些_5.Java变量
- std::future和std::promise和std::packaged_task
- FCKeditor + smarty
- VirtualBox中使用双网卡实现CentOS既能上网(校园网)也能使用SSHclient
- CSS对字体单位的总结
- Linux:常用shell快捷键
- 过滤DataTable中的指定字段重复的行
- 无线网络服务器网络异常,无线网络连接上但上不了网怎么解决
- 使用SAP的中国公司
- 怎么样在家拍出好看的证件照?标准证件照拍摄技巧分享
- Android常用控件有哪些?如何使用?
- Motrix - 清爽开源免费的全能下载工具 (跨平台、支持 BT / 磁力链 / 百度网盘)
- 战地服务器名字不显示号码的电话软件,打电话显示虚拟号码的软件,教你打电话隐藏号码...
- 手把手教你搭建SSM框架,简单有效理解SSM框架
- python tpr fpr
- 如何用matlab画烧杯,matlab 微分方程求解作图这个方程怎么解,还有图象怎么出来~dN1/dt=[r1*(1-N1/K1)-m*N2]*N...
- Android图片选择器 图片裁剪
- 西门子机床采集方案全集,西门子840D、西门子840DSL西门子828D数据采集方案