day48—JavaScript键盘事件
转行学开发,代码100天——2018-05-03
今天继续学习JavaScript事件基础之键盘事件。
键盘代号获取 keyCode
键盘事件:onkeydown onkeyup
如通过键盘上下左右按键操控物体移动的应用
<!DOCTYPE html>
<html>
<head>
<title>javascript 键盘事件</title>
<style type="text/css">
#div1{width: 100px;height: 100px;background: #ccc;position: absolute;}
</style>
<script type="text/javascript">
window.onkeydown = function(ev){
var oEvent = ev||event;
// alert(oEvent.keyCode);
var oDiv = document.getElementById("div1");
if (oEvent.keyCode==37) { //向左
oDiv.style.left = oDiv.offsetLeft-10+"px";
}else if(oEvent.keyCode==39) //向右
{
oDiv.style.left = oDiv.offsetLeft+10+"px";
}else if(oEvent.keyCode==38) //向上
{
oDiv.style.top = oDiv.offsetTop-10+"px";
}else if(oEvent.keyCode==40) //向下
{
oDiv.style.top = oDiv.offsetTop+10+"px";
}
};
</script>
</head>
<body>
<div id="div1"></div> </body>
</html>

其他常用的几个键盘按钮
enter keyCode==13
ctrlKey
shiftKey
altKey
如一个通过CTRL+ENTER进行文本提交的功能
类似的功能之前通过一个按钮实现,即是为其添加一个点击事件,如果去除按钮,需要对文本输入框添加一个键盘事件。
下面的代码中注释部分为按钮实现,保留部分是enter键实现。
oTxt1.onkeydown = function(ev){
var oEvent = ev||event;
if (oEvent.keyCode==13 &&oEvent.ctrlKey) {
oTxt2.value +=oTxt1.value+"\n";
oTxt1.value="";
}
}
<!DOCTYPE html>
<html>
<head>
<title>键盘发ctrl+enter布效果</title>
<script type="text/javascript">
window.onload = function()
{
var oTxt1 = document.getElementById("txt1");
var oTxt2 = document.getElementById("txt2");
// var oBtn = document.getElementById("btn"); // oBtn.onclick = function()
// {
// oTxt2.value +=oTxt1.value+"\n";
// oTxt1.value="";
// } oTxt1.onkeydown = function(ev){
var oEvent = ev||event;
if (oEvent.keyCode==13) {
oTxt2.value +=oTxt1.value+"\n";
oTxt1.value="";
}
}
}
</script>
</head>
<body>
<input id="txt1" type="text" name="">
<!-- <input id="btn" type="button" value="发布" > -->
<br/><br/>
<textarea id="txt2"></textarea>
</body>
</html>
如果改成ctrl+enter时只需要在判断条件中添加oEvent.ctrlKey
oTxt1.onkeydown = function(ev){
var oEvent = ev||event;
if (oEvent.keyCode==13 &&oEvent.ctrlKey) {
oTxt2.value +=oTxt1.value+"\n";
oTxt1.value="";
}
}
day48—JavaScript键盘事件的更多相关文章
- JavaScript键盘事件全面控制代码
JavaScript键盘事件全面控制,它可以捕获键盘事件的输入状态,可以判断你敲打了键盘的那个键,ctrl.shift,26个字母等等,返回具体键盘值. <html> <head&g ...
- javascript 键盘事件总结
原文:http://www.cnblogs.com/rubylouvre/archive/2009/08/20/1550526.html#2583814 在进入正题前,我们看一下浏览器对于键盘的一些默 ...
- Javascript 键盘事件
window.document.onkeydown = function (e) { var evt = window.event || e;//兼容性处理 var keycode = evt.key ...
- JavaScript的事件对象_键盘事件
用户在使用键盘时会触发键盘事件.“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容.最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件. 一.键码 在发生 key ...
- javascript的键盘事件大全
javascript的键盘事件大全 ------------------------------------------------------------------- 使用event对象的keyC ...
- JavaScript事件基础-10-2.HTML事件; DOM0级事件; 掌握常用的鼠标与键盘事件 ; 掌握this的指向;
JavaScript事件基础 学习目标 1.掌握什么是事件 2.掌握HTML事件 3.掌握DOM0级事件 4.掌握常用的鼠标与键盘事件 5.掌握this的指向 什么是事件 事件就是文档或浏览器窗口中发 ...
- JavaScript的事件对象中的特殊属性和方法(鼠标,键盘)
鼠标操作导致的事件对象中的特殊属性和方法 鼠标事件是 Web 上面最常用的一类事件,毕竟鼠标还是最主要的定位设备.那么通过事件对象可以获取到鼠标按钮信息和屏幕坐标获取等 鼠标按钮 只有在主鼠标按钮被单 ...
- JavaScript的事件的处理函数(鼠标,键盘,HTML)
事件处理函数概述 JavaScript 可以处理的事件类型为:鼠标事件.键盘事件.HTML 事件 所有的事件处理函数都会都有两个部分组成,on + 事件名称,例如 click 事件的事件处理函数就是: ...
- JavaScript onkeydown事件入门实例(键盘某个按键被按下)
JavaScript onkeydown 事件 用户按下一个键盘按键时会触发 onkeydown 事件.与 onkeypress事件不同的是,onkeydown 事件是响应任意键按下的处理(包括功能键 ...
随机推荐
- 【转】Hadoop 1.x中fsimage和edits合并实现
在NameNode运行期间,HDFS的所有更新操作都是直接写到edits中,久而久之edits文件将会变得很大:虽然这对NameNode运行时候是没有什么影响的,但是我们知道当NameNode重启的时 ...
- scala学习笔记(7)
1.包 --------------------------------------- Scala中的包和Java或者C++中命名空间的目的是相同的:管理大型程序中的名称. package a{ pa ...
- react找到对象数组中指定的值
找到对象数组中指定的值var array = [ { label: "Custom", value: "0" }, ...
- Spring基础08——使用p命名空间
1.使用p命名空间 为了简化xml配置,越来越多的xml文件采用属性而非子元素配置信息,Spring从2.5版本开始引入了一个新的p命名空间,可以通过<bean>元素属性的方式配置Bean ...
- odoo ERP 系统安装与使用
https://hub.docker.com/_/odoo/ #!/bin/bash sudo docker pull postgres:10sudo docker pull odoo:11.0 su ...
- Codeforces Round #430 (Div. 2) - A
题目链接:http://codeforces.com/contest/842/problem/A 题意:给定l,r,x,y,k.问是否存在a (l<=a<=r) 和b (x<=b&l ...
- tflite
1.编译libtensorflow-lite.a库: ubuntu下交叉环境编译: https://blog.csdn.net/computerme/article/details/80345065 ...
- 组件通信 Provide&&inject
在父组件中利用Provide 注入数据,在所有的子组件都可以拿到这个数据 可以在vue 中用来刷新页面 <!DOCTYPE html> <html lang="en&quo ...
- css使既有浮动又有左右margin的多个元素两端对其
两端对齐效果 如上图中红色的9个div它们中间有间距,而最左边和最右边是没有间距的,这种布局如果使用css3的flex来实现是非常简单的,而如果要使用float布局就需要一些特殊的技巧了. 实现原理 ...
- SpringBoot配置自定义美化Swagger2
1.添加maven依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springf ...