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 相关文章推荐
学习jquery必备 api中英文对照的chm手册 下载
May 03 Javascript
面向对象的Javascript之三(封装和信息隐藏)
Jan 27 Javascript
ie8本地图片上传预览示例代码
Jan 12 Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 Javascript
Javascript闭包实例详解
Nov 29 Javascript
前端jquery部分很精彩
May 03 Javascript
用js写的一个路由(简单实例)
Sep 24 Javascript
使用node.js中的Buffer类处理二进制数据的方法
Nov 26 Javascript
解决Linux无法正常安装与卸载Node.js的方法
Jan 19 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
layer弹出子iframe层父子页面传值的实现方法
Nov 22 Javascript
selenium+java中用js来完成日期的修改
Oct 31 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发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
Laravel 队列使用的实现
2019/01/08 PHP
jQuery实现鼠标移到元素上动态提示消息框效果
2013/10/20 Javascript
PHP PDO操作总结
2014/11/17 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
Bootstrap前端开发案例二
2016/06/17 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
python类继承与子类实例初始化用法分析
2015/04/17 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
python版大富翁源代码分享
2018/11/19 Python
python实现汽车管理系统
2018/11/30 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
精灵市场:Pixie Market
2019/06/18 全球购物
社区中秋节活动方案
2014/01/29 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
一般党员对照检查材料
2014/09/24 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
导游词之四川武侯祠
2019/10/21 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL