JS实现方向键切换输入框焦点的方法


Posted in Javascript onAugust 19, 2015

本文实例讲述了JS实现方向键切换输入框焦点的方法。分享给大家供大家参考。具体如下:

这里实现js方向键控制切换输入框焦点效果,不过无法兼容Firefox。当输入完毕按回车或按方向键可移动焦点至想要输入的文本框内,无需点击鼠标,对于经常录入数据的时候,这种功能可提高输入速度。

运行效果截图如下:

JS实现方向键切换输入框焦点的方法

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JS方向键切换输入框焦点</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<table border="1" id="mm" onkeydown="keyDown(event)"> 
<tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> 
<tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> 
<tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> 
<tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> 
<tr> <td> <input> </td> <td> <input> </td> <td> <input> </td> <td> <input> </td> </tr> 
</table> 
<script language="javascript" type="text/javascript"> 
<!-- 
var inputs=document.getElementById("mm").getElementsByTagName("INPUT"); 
function keyDown(event) 
{ 
 var focus=document.activeElement; 
 if(!document.getElementById("mm").contains(focus)) return; 
 var event=window.event||event;
 var key=event.keyCode; 
 for(var i=0; i<inputs.length; i++) 
 { 
  if(inputs[i]===focus) break; 
 } 
 switch(key) 
 { 
  case 37: 
   if(i>0) inputs[i-1].focus(); 
   break; 
  case 38: 
   if(i-4>=0) inputs[i-4].focus(); 
   break; 
  case 39: 
   if(i<inputs.length-1) inputs[i+1].focus(); 
   break; 
  case 40: 
   if(i+4 <inputs.length) inputs[i+4].focus(); 
   break; 
 } 
} 
//--> 
</script> 
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
Nov 05 Javascript
Javascript访问器属性实例分析
Dec 30 Javascript
js获取数组的最后一个元素
Apr 14 Javascript
JQuery中DOM加载与事件执行实例分析
Jun 13 Javascript
javascript每日必学之循环
Feb 19 Javascript
vue-cli如何添加less 以及sass
Jul 06 Javascript
Vue响应式原理深入解析及注意事项
Dec 11 Javascript
官方推荐react-navigation的具体使用详解
May 08 Javascript
使用proxy实现一个更优雅的vue【推荐】
Jun 19 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
JavaScript实现tab栏切换效果
Mar 16 Javascript
react+antd 递归实现树状目录操作
Nov 02 Javascript
纯CSS3代码实现滑动开关效果
Aug 19 #Javascript
js实现input框文字动态变换显示效果
Aug 19 #Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
Aug 19 #Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 #Javascript
easyui Droppable组件实现放置特效
Aug 19 #Javascript
js实现简单的联动菜单效果
Aug 19 #Javascript
javascript 使用for循环时该注意的问题-附问题总结
Aug 19 #Javascript
You might like
针对初学PHP者的疑难问答(1)
2006/10/09 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
php常用文件操作函数汇总
2014/11/22 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
javascript:文字不间断向左移动的实例代码
2013/08/08 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
原生js实现日期联动
2015/01/12 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
JS数组的常用10种方法详解
2020/05/08 Javascript
js+cavans实现图片滑块验证
2020/09/29 Javascript
python如何通过twisted实现数据库异步插入
2018/03/20 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
AOP的定义以及作用
2013/09/08 面试题
应聘医学检验人员自荐信
2013/09/27 职场文书
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
行政主管岗位职责
2013/11/18 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
精神病医院见习报告
2014/11/03 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
Golang gRPC HTTP协议转换示例
2022/06/16 Golang