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 相关文章推荐
Javascript中的数学函数
Apr 04 Javascript
javascript 二进制运算技巧解析
Nov 27 Javascript
JavaScript中的字符串操作详解
Nov 12 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
Nov 20 Javascript
Bootstrap每天必学之表单
Nov 23 Javascript
JavaScript编写简单的计算器
Nov 25 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
jQuery animate easing使用方法图文详解
Jun 17 Javascript
Js调用Java方法并互相传参的简单实例
Aug 11 Javascript
React Hooks的深入理解与使用
Nov 12 Javascript
微信小程序中为什么使用var that=this
Aug 27 Javascript
Node绑定全局TraceID的实现方法
Nov 14 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的memcache类分享(memcache队列)
2014/03/26 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
2011/11/15 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
javascript判断office版本示例
2014/04/11 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
使用python求解二次规划的问题
2020/02/29 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
python获取linux系统信息的三种方法
2020/10/14 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
自我鉴定范文
2013/11/10 职场文书
给同事的道歉信
2014/01/11 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
导游词之宿迁乾隆行宫
2019/10/15 职场文书
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js