JS键盘事件—onkeydown,onkeyup

article/2025/10/8 13:03:05

键盘事件

onkeydown 按键被按下

对于某个按键一直按着不放,则事件会一直触发
当onkeydown连续触发式,第一次和第二次之间会有一个间隔时间,其他之后会非常的快
这种设计是为了防止我们误操作

onkeyup 按键被松开
键盘事件一般都会绑定给一些可以获取到焦点的对象,或者是document

可以通过keyCode来获取按键的编码
通过它可以判断那个按键被按下

除了keyCode ,事件对象还提供了几个属性
altKey, ctrlKey ,shiftKey
这三个用来判断alt ctrl shift 是否被按下
如果按下则返回true , 否则返回false

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>键盘事件</title><script>window.onload=function(){document.onkeydown=function(event){event=event||window.event;//console.log(event.keyCode);//判断一个y是否被按下
//				if(event.keyCode === 89){
//					console.log("y键被按下了");
//				}//判断一个y和ctrl是否被同时按下if(event.keyCode === 89 && event.ctrlKey){console.log("y键和ctrl都被按下了");}}//获取inputvar input=document.getElementsByTagName("input")[0];input.onkeydown=function(event){event=event||window.event;//使文本框中不能输入数字  0——9的编码是48——57 小键盘的是96——105if((event.keyCode >=48 && event.keyCode <= 57)||(event.keyCode >=96 && event.keyCode <= 105)){//在文本框中输入内容,属于onkeydown的默认行为//取消在onkeydown中取消默认行为,则输入的内容不会出现在文本框中return false ;}}}</script>
</head>
<body><input type="text">
</body>
</html>

键盘移动div

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>键盘移动div</title><style>#box1{width: 100px;height:100px;background-color: red;/*开启box1的绝对定位*/position: absolute;}</style><script>/*使div可以根据不同的方向键向不同的方向移动*/window.onload=function(){//为我们的document绑定一个按键被按下的事件document.onkeydown=function(event){event=event||window.event;//console.log(event.keyCode);//方向键是37——40    左上右下//定义一个变量,来表示移动的速度var speed=10;//当用户按了ctrl以后,速度加快if(event.ctrlKey){speed=50;}switch(event.keyCode){case 37:box1.style.left=box1.offsetLeft-speed+"px";break;case 38:box1.style.top=box1.offsetTop-speed+"px";break;	case 39:box1.style.left=box1.offsetLeft+speed+"px";break;	case 40:box1.style.top=box1.offsetTop+speed+"px";break;}}}</script>
</head><body><div id="box1"></div>
</body>
</html>

在这里插入图片描述


http://chatgpt.dhexx.cn/article/eAiGx6Ba.shtml

相关文章

JS中的键盘事件(onkeydown、onkeyup、keyCode)

键盘事件&#xff1a; okeydown:键盘被按下&#xff0c;如果一直按着键盘的按键&#xff0c;则okeydown事件会一直被触发。 - 当键盘按键一直被按住的时候&#xff0c;事件被连续触发&#xff0c;第一次和第二次以及后面的n次之间&#xff0c;触发的时间间隔会稍长&#xff0c;…

Android 中onKeyDown()方法使用详解

博主前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住也分享一下给大家&#xff0c; &#x1f449;点击跳转到网站 onKeyDown():监听手机屏幕上的按键 比如我们经常退出某款程序时&#xff0c;按back键后&#xff0c;会提示…

onKeyDown方法笔记

onKeyDown&#xff08;&#xff09;⽅法详解 onKeyDown&#xff08;&#xff09;⽅法详解 当Android设备上的物理按键被按下的时候&#xff0c;程序会回调onKeyDown&#xff08;&#xff09;⽅法&#xff0c;该⽅法是接⼝KeyEvent.Callback中的抽象⽅法。 Android程序中所有的V…

贝叶斯模型的理解(1)

一直以来&#xff0c;都在听说贝叶斯概率模型&#xff0c;这里记录一下自己对贝叶斯概率模型的一些理解。 贝叶斯模型的建立主要有3个概念&#xff1a;1.先验概率。2.最大似然函数。3.后验概率 这3个概念怎么建立联系呢&#xff0c;以投硬币这个简单的例子来理解最好。 例子…

贝叶斯估计原理及流程

知乎上有个专题叫&#xff1a;你对贝叶斯统计有怎样的理解&#xff1f;本篇尽量通俗点理解下贝叶斯统计~_~ 还是沿用经典案例&#xff1a; 一种癌症&#xff0c;得了这个癌症的人被检测出为阳性的几率为90%&#xff0c;未得这种癌症的人被检测出阴性的几率为90%&#xff0c;而人…

极大似然估计和贝叶斯估计

转载于http://blog.sciencenet.cn/blog-520608-703219.html 极大似然估计和贝叶斯估计分别代表了频率派和贝叶斯派的观点。频率派认为&#xff0c;参数是客观存在的&#xff0c;只是未知而矣。因此&#xff0c;频率派最关心极大似然函数&#xff0c;只要参数求出来了&#xff0…

贝叶斯方法的m-估计

为什么要有m-估计&#xff1f; 当我们通过在全部事件的基础上观察某事件出现的比例来估计概率时&#xff0c;例如&#xff1a;Pnc/n.&#xff0c;其中nc为该类别中的样本数量&#xff0c;n为总样本数量。若n5&#xff0c;当P0.6时&#xff0c;则nc为3。多数情况下该比例是对概率…

参数估计—最大似然估计与贝叶斯估计

文章目录 一 参数估计二 最大似然估计2.1 参数分量2.2 基本原理2.3 高斯情况2.3.1 协方差矩阵 Σ \Sigma Σ已知&#xff0c;而均值 μ \mu μ未知2.3.2 协方差矩阵 Σ \Sigma Σ和均值 μ \mu μ都未知 三 贝叶斯估计3.1 基本原理3.2 高斯情况下的贝叶斯估计3.2.1 单变量情况第…

朴素贝叶斯算法与贝叶斯估计

在看贝叶斯算法的相关内容时&#xff0c;你一定被突如其来的数学概念搞得头昏脑涨。比如极大似然估计(Maximum likelihood estimation )&#xff0c;极大后验概率估计(Maximum a posteriori estimation)&#xff0c;先验概率(Prior probability)&#xff0c;后验概率(Posterior…

几个贝叶斯估计的例题

几个贝叶斯估计的例题 以下例题来自《机器学习导论》&#xff0c;书中证明不是很全也没有推导过程&#xff0c;所以我补全了解答。 贝叶斯估计 Dirichlet分布 已知方差的正态分布 正态分布 此时不再是共轭后验先验分布了&#xff0c;会得到一个t分布&#xff0c;由于涉及的特殊…

贝叶斯估计实验(matlab)

1、实验内容 由于生活中很多参数如测量误差、产品质量指标等几乎都服从或近似服从正态分布&#xff0c;所以可以用对单变量正态分布中的贝叶斯估计进行分析并编写相应的Matlab程序&#xff0c;分析样本大小对贝叶斯估计误差的影响&#xff0c;进而验证贝叶斯估计的有效性。 2…

参数估计:贝叶斯思想和贝叶斯参数估计

http://blog.csdn.net/pipisorry/article/details/51471222 贝叶斯与频率派思想 频率派思想 长久以来&#xff0c;人们对一件事情发生或不发生&#xff0c;只有固定的0和1&#xff0c;即要么发生&#xff0c;要么不发生&#xff0c;从来不会去考虑某件事情发生的概率有多大&a…

贝叶斯估计及其python实现

文章目录 1.贝叶斯估计的思想2.正态总体参数贝叶斯估计的推导3.代码实现3.1.抽取样本3.2.估计参数 4.总结参考文献 1.贝叶斯估计的思想 在统计学中有两大学派&#xff1a;频率学派和贝叶斯学派。针对参数估计的方法也分成两派。其中以极大似然估计为代表的频率学派和以贝叶斯估…

贝叶斯估计和极大似然估计到底有何区别

前言&#xff1a;原创不易&#xff0c;转载请告知并注明出处&#xff01;微信搜索【机器学习与自然语言处理】公众号&#xff0c;定期发布知识图谱&#xff0c;自然语言处理、机器学习等知识&#xff0c;添加微信号【17865190919】进讨论群&#xff0c;加好友时备注来自CSDN。 …

【数学基础】参数估计之贝叶斯估计

从统计推断讲起 统计推断是根据样本信息对总体分布或总体的特征数进行推断&#xff0c;事实上&#xff0c;这经典学派对统计推断的规定&#xff0c;这里的统计推断使用到两种信息&#xff1a;总体信息和样本信息&#xff1b;而贝叶斯学派认为&#xff0c;除了上述两种信息以外…

贝叶斯估计与贝叶斯学习的区别

概述&#xff1a; 贝叶斯估计&#xff1a;贝叶斯估计是把待估计的参数看作具有先验分布密度p()的随机变量&#xff0c;其取值与样本D有关&#xff0c;用训练样本D估计出最优的&#xff0c;记为。 贝叶斯学习 &#xff1a;把贝叶斯估计的原理用于直接从数据对概率密度函数进行…

vue3页面刷新

整理工作中用到的页面刷新方式&#xff1a; 1.provide/inject 2.router.go(0) 3.provide,inject 一、使用provide和inject 控制<router-view>的显示隐藏 默认<router-view v-if"isRouterAlive" /> isRouterAlive是true&#xff0c;在需要刷新的时候把这…

js 页面刷新

刷新为新的页面 获得当前页面的url,即浏览器显示的地址: window.location.href; 按下enter,页面刷新为百度 刷新为当前页面 1,history.go(0)2,location.reload() 3,location=location 4,location.assign(location) 5,document.execcommand(‘refresh‘) 6,window.na…

Web页面自刷新

简单介绍两种&#xff1a; 第一种Ajax Ajax Asynchronous JavaScript and XML&#xff08;异步的 JavaScript 和 XML&#xff09;&#xff0c;ajax就是基于浏览器提供的XMLHttpRequest对象来实现的 什么叫异步&#xff1f; 异步&#xff0c;不同的意思&#xff0c;这里也就…

页面刷新技术-------AJAX

一、前提步骤&#xff08;先把静态网页写出来&#xff09; 1、首先先要配置文件 2、然后去后端建立服务器&#xff0c;把该下载的模块下载好 var httprequire("http") var fsrequire("fs") var urlrequire("url") var querystringrequire(&quo…