转行学开发,代码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键盘事件的更多相关文章

  1. JavaScript键盘事件全面控制代码

    JavaScript键盘事件全面控制,它可以捕获键盘事件的输入状态,可以判断你敲打了键盘的那个键,ctrl.shift,26个字母等等,返回具体键盘值. <html> <head&g ...

  2. javascript 键盘事件总结

    原文:http://www.cnblogs.com/rubylouvre/archive/2009/08/20/1550526.html#2583814 在进入正题前,我们看一下浏览器对于键盘的一些默 ...

  3. Javascript 键盘事件

    window.document.onkeydown = function (e) { var evt = window.event || e;//兼容性处理 var keycode = evt.key ...

  4. JavaScript的事件对象_键盘事件

    用户在使用键盘时会触发键盘事件.“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容.最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件. 一.键码 在发生 key ...

  5. javascript的键盘事件大全

    javascript的键盘事件大全 ------------------------------------------------------------------- 使用event对象的keyC ...

  6. JavaScript事件基础-10-2.HTML事件; DOM0级事件; 掌握常用的鼠标与键盘事件 ; 掌握this的指向;

    JavaScript事件基础 学习目标 1.掌握什么是事件 2.掌握HTML事件 3.掌握DOM0级事件 4.掌握常用的鼠标与键盘事件 5.掌握this的指向 什么是事件 事件就是文档或浏览器窗口中发 ...

  7. JavaScript的事件对象中的特殊属性和方法(鼠标,键盘)

    鼠标操作导致的事件对象中的特殊属性和方法 鼠标事件是 Web 上面最常用的一类事件,毕竟鼠标还是最主要的定位设备.那么通过事件对象可以获取到鼠标按钮信息和屏幕坐标获取等 鼠标按钮 只有在主鼠标按钮被单 ...

  8. JavaScript的事件的处理函数(鼠标,键盘,HTML)

    事件处理函数概述 JavaScript 可以处理的事件类型为:鼠标事件.键盘事件.HTML 事件 所有的事件处理函数都会都有两个部分组成,on + 事件名称,例如 click 事件的事件处理函数就是: ...

  9. JavaScript onkeydown事件入门实例(键盘某个按键被按下)

    JavaScript onkeydown 事件 用户按下一个键盘按键时会触发 onkeydown 事件.与 onkeypress事件不同的是,onkeydown 事件是响应任意键按下的处理(包括功能键 ...

随机推荐

  1. P2510 [HAOI2008]下落的圆盘

    传送门 首先考虑两个圆覆盖的情况,我们可以求出圆心与交点连线 $A$ 的极角 具体就是求出两圆心连线 $B$ 极角加上余弦定理加反余弦求出 $A,B$ 之间夹角 ,然后覆盖了多少就可以得出 但是多个圆 ...

  2. js实现计算器效果

    <!DOCTYPE html> <html> <!-- Created using jsbin.com Source can be edited via http://j ...

  3. RabbitMQ事务和Confirm发送方消息确认

    RabbitMQ事务和Confirm发送方消息确认——深入解读 RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器 ...

  4. 剑指offer 打印从1到最大的n位数

    题目描述: 输入数字n,按顺序打印出从1到最大的n位十进制数.比如输入3,则打印出1.2.3一直到最大的3位数999. 分析:注意不能直接输入最大的n位十进制数,因为可能属于大数,这个数无法用int或 ...

  5. vue解决开发时候跨域问题

    vue项目/config/index.js 找到dev对象,增加如下代码 proxyTable: { '/api': { target: 'http://192.168.1.208:8888', ch ...

  6. iOS - 断言处理与调试

    一.Objective - C 中的断言: Objective - C 中的断言处理使用的是 NSAssertionHandler : 每个线程拥有它自己的断言处理器,它是 NSAssertionHa ...

  7. fpga新建nios

    [FPGA]基于Qsys的第一个Nios II系统设计 (2013-12-12 21:50:08) 转载▼ 标签: fpga niosii qsys helloword quartusii 分类: 嵌 ...

  8. RMQ 区间最大值最小值 最频繁次数

    区间的最大值和最小值 #include <cstdio> #include <cstring> #include <cmath> #include <iost ...

  9. 【JavaScript】DOM之BOM

    BOM 1.BOM是什么 提供了独立页面内容,与浏览器相关的一系列对象,管理窗口之间通信 2.Window对象 具有双重角色,对象即是允许JS访问浏览器窗口的一个对象,和ECMAScript规范中的G ...

  10. double处理

    String s = "1,3;2,3,4;5"; String[] split = s.split(";");double[][] d;d = new dou ...