JavaScript:onkeydown-键盘上的键被按下时触发事件

这篇具有很好参考价值的文章主要介绍了JavaScript:onkeydown-键盘上的键被按下时触发事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

案例:

使用div布局以及键盘点击事件的一个实例运用,实现一个点击键盘上下左右键使div布局移动

示例:

第一步:

写两个HTML-div布局,并定义id


<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div id="content">
            <div id="move_div" style="background-color: green;width: 100px;
            height: 100px;position: absolute;top: 0;left: 0;">
            </div>
        </div>
    </body>
</html>

第二步:

写div布局的css样式

<style type="text/css">
			body{
				margin: 0;
				padding: 0;
			}
			#content{
				width: 700px;
				height: 700px;
				background-color: #000000;
				margin: auto;
				position: relative;
			}
		</style>

 第三步:

写键盘点击事件 onkeydown:按键被按下后触发一个函数,用键码对应的键位写出代码

//按键被按下后触发一个函数

document.onkeydown = function(){

                //弹出显示键盘有键被按下

                alert("键盘上有键被按下");

}

使用if...else结构

<script type="text/javascript">
			//onkeydown:键盘上的键被按下时触发事件
			document.onkeydown = function(){
				
				var move_div = document.getElementById("move_div");
				//用来获取外层div的宽度和高度
				var x = getComputedStyle(document.getElementById("content")).width;
				var y = getComputedStyle(document.getElementById("content")).height;
				//向右移动
				if (event.keyCode == 39) {
					if(parseInt(move_div.style.left)>=(parseInt(x)-100)){
						alert("已经到最右边了");
				} else{
					move_div.style.left = (parseInt(move_div.style.left)+5)+"px";
				}
			}else if (event.keyCode == 40) {//向下移动
					if(parseInt(move_div.style.top)>=(parseInt(y)-100)){
						alert("已经到最下边了");
				} else{
					move_div.style.top = (parseInt(move_div.style.top)+5)+"px";
				}
			}else if (event.keyCode == 37) {//向左移动
					if(parseInt(move_div.style.left)==0){
						alert("已经到最左边了");
				} else{
					move_div.style.left = (parseInt(move_div.style.left)-5)+"px";
				}
			}else if (event.keyCode == 38) {//向上移动
					if(parseInt(move_div.style.top)==0){
						alert("已经到最顶端了");
				} else{
					move_div.style.top = (parseInt(move_div.style.top)-5)+"px";
				}
			}
			}
		</script>

整体代码如下:

​
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
<style type="text/css">
			body{
				margin: 0;
				padding: 0;
			}
			#content{
				width: 700px;
				height: 700px;
				background-color: #000000;
				margin: auto;
				position: relative;
			}
		</style>
	</head>
	<body>
		<div id="content">
			<div id="move_div" style="background-color: green;width: 100px;
			height: 100px;position: absolute;top: 0;left: 0;">
			</div>
		</div>
		<script type="text/javascript">
			//onkeydown:键盘上的键被按下时触发事件
			document.onkeydown = function(){
				
				var move_div = document.getElementById("move_div");
				//用来获取外层div的宽度和高度
				var x = getComputedStyle(document.getElementById("content")).width;
				var y = getComputedStyle(document.getElementById("content")).height;
				//向右移动
				if (event.keyCode == 39) {
					if(parseInt(move_div.style.left)>=(parseInt(x)-100)){
						alert("已经到最右边了");
				} else{
					move_div.style.left = (parseInt(move_div.style.left)+5)+"px";
				}
			}else if (event.keyCode == 40) {//向下移动
					if(parseInt(move_div.style.top)>=(parseInt(y)-100)){
						alert("已经到最下边了");
				} else{
					move_div.style.top = (parseInt(move_div.style.top)+5)+"px";
				}
			}else if (event.keyCode == 37) {//向左移动
					if(parseInt(move_div.style.left)==0){
						alert("已经到最左边了");
				} else{
					move_div.style.left = (parseInt(move_div.style.left)-5)+"px";
				}
			}else if (event.keyCode == 38) {//向上移动
					if(parseInt(move_div.style.top)==0){
						alert("已经到最顶端了");
				} else{
					move_div.style.top = (parseInt(move_div.style.top)-5)+"px";
				}
			}
			}
		</script>
	</body>
</html>

​

效果如下: 

js keydown事件怎么触发,javascript,html,前端

js keydown事件怎么触发,javascript,html,前端

js keydown事件怎么触发,javascript,html,前端

js keydown事件怎么触发,javascript,html,前端文章来源地址https://www.toymoban.com/news/detail-563471.html

到了这里,关于JavaScript:onkeydown-键盘上的键被按下时触发事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ 模拟按下键盘的某个按键

    以下是一段使用C++的Windows API模拟按下向下箭头键的代码: 需要注意的是,这段代码只在Windows平台上有效,且需要包含Windows.h头文件。 keybd_event是Windows API中的一个函数,用于模拟键盘按键事件。它有四个参数: 第一个参数指定要模拟的键码,例如VK_DOWN表示向下箭头键。 第

    2024年02月08日
    浏览(43)
  • JavaScript获取数组对象里面的键(key)和值(value)

    知识专栏 专栏链接 JavaScript知识专栏 https://blog.csdn.net/xsl_hr/category_12024214.html?spm=1001.2014.3001.5482 有关JavaScript的相关知识可以前往JavaScript知识专栏查看复习!! 在后台管理系统的项目开发中,对于 后端接口返回的数据进行处理 是一件很重要的事情。有时候返回的值是 json格式

    2023年04月15日
    浏览(43)
  • JavaScript 监听鼠标左右同时按下/同时按下移动

    基于原生JavaScript, 在使用 three.js 的 raycaster 模拟瞄准及射击时用到.

    2024年02月07日
    浏览(40)
  • Qt中无法捕获键盘按下操作的解决方法

    上述代码片段是控制窗口中 pushButton 按钮实现 上下左右移动的功能 ;即,当按下键盘中的W、S、A、D或者↑、↓、←、→键时,pushButton按钮可以随之进行位置变化;运行时发现,按下W、S、A、D可以实现所需功能,而按下↑、↓、←、→键时,按钮没有反应; 这是由于没有捕

    2024年02月13日
    浏览(43)
  • CH9350L键盘转串口IC,实现按下对应键盘按键输出对应的串口值

    具体应用电路见下图。 电路设计均采用的是立创EDA设计,已在立创开源平台开源该项目。见链接: 键盘转串口模块 - 嘉立创EDA开源硬件平台 数据手册见下面的百度网盘: 链接:https://pan.baidu.com/s/1r5C8RVoCe7bKst1fyaMe8A?pwd=4wru 提取码:4wru         这里选择的是5V供电,根据数

    2024年02月09日
    浏览(37)
  • 电脑键盘上一些不常用的键介绍:F1 - F12,sysrq键,Scroll Lock键,pausebreak键

    F1:若处于一个选定的程序中需要帮助时,按下F1获得帮助。若不是处于程序中,处于资源管理器或者桌面,按下F1会显示出Windows界面的帮助程序。 F2:若选中一个文件或文件夹在资源管理器中,按下F2则会对这个选定的文件或文件夹进行快速重命名。 F3:若想对某个文件夹中

    2024年02月09日
    浏览(51)
  • Qt获取键盘按键ctrl和alt以及shift按键按下和松开

    .h文件中定义 这里主要为了获取按键ctrl和alt以及shift按键按下和松开来达到对QTableWidget中的内容进行多选 但是这引入了一个问题,那就是当前界面想要使用按键捕获,就需要在切换到该界面时调用: grabKeyboard() 那么在这个例子中就是调用 my_record-grabKeyboard(); 到达获取键盘的

    2024年02月12日
    浏览(45)
  • VMWare17.5.0版本避坑,安装虚拟机后按下键盘和鼠标,界面会卡死

    在使用VMWare17.5.0版本安装ubuntu22.0.4.4的时候遇到问题。安装完成ubuntu之后,我在虚拟机中点击鼠标左键没有问题,单独按下键盘也没有问题,但是如果按下键盘的同时在按下鼠标左键就会卡住。而且100%稳定复现。 具体的卡死按键: ctrl+鼠标左键 alt+鼠标左键 其实并不是真正的

    2024年03月23日
    浏览(50)
  • C51单片机-按下K0至K15,显示按键标号(4x4矩阵键盘电路,1个数码管)

    keil uVision4界面: proteus仿真界面:

    2024年02月04日
    浏览(48)
  • WPF MvvM框架(MvvMLight,Microsoft Toolkit Mvvm,CommunityToolkit.Mvvm;鼠标,键盘,手写等事件绑定如:抬起按下事件)

    目录 1.MvvMLight(已废弃) 2. Microsoft Toolkit Mvvm(已废弃)  3.CommunityToolkit.Mvvm框架 4.Mvvm中的事件绑定 4.1 DataGrid表中按钮点击事件 4.2 绑定 鼠标事件,键盘事件,手写笔事件,多点触控事件 5.和PLC设备建立联系(联调)    本文中,继承接口,同步数据方法,command用法均一致; 1.继

    2024年02月04日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包