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中获取select选中值的代码
Jun 27 Javascript
JS 获取滚动条高度示例代码
Oct 24 Javascript
JavaScript通过select动态更换图片的方法
Mar 23 Javascript
JS实现动态给图片添加边框的方法
Apr 01 Javascript
js仿微博实现统计字符和本地存储功能
Dec 22 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
May 22 Javascript
vue translate peoject实现在线翻译功能【新手必看】
Jun 07 Javascript
详解JavaScript添加给定的标签选项
Sep 17 Javascript
react native 仿微信聊天室实例代码
Sep 17 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
May 28 Javascript
vue实现登陆页面开发实践
May 30 Vue.js
纯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
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
全面解析JavaScript Module模式
2020/07/24 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
如何用itertools解决无序排列组合的问题
2017/05/18 Python
python flask实现分页效果
2017/06/27 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python实现微信自动回复功能
2018/04/11 Python
python3.4实现邮件发送功能
2018/05/28 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python 多进程、多线程效率对比
2020/11/19 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
群众路线批评与自我批评
2014/02/06 职场文书
鉴定评语大全
2014/05/05 职场文书
高三英语复习计划
2015/01/19 职场文书
创建文明城市倡议书
2015/04/28 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
mysql如何查询连续记录
2022/05/11 MySQL