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 如果改变span标签的是否隐藏属性
Oct 06 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
Oct 22 Javascript
JavaScript中的6种运算符总结
Oct 16 Javascript
JavaScript实现在标题栏上显示当前日期的方法
Mar 19 Javascript
canvas实现探照灯效果
Feb 07 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
Apr 07 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
Jun 25 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
Aug 16 Javascript
解决在layer.open中使用时间控件laydate失败的问题
Sep 11 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 Javascript
vue实现倒计时功能
Mar 24 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
文件上传程序的全部源码
2006/10/09 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
ThinkPHP中order()使用方法详解
2016/04/19 PHP
mac下多个php版本快速切换的方法
2016/10/09 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
javascript完美拖拽的实现方法
2013/09/29 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
DataFrame中去除指定列为空的行方法
2018/04/08 Python
python 正确保留多位小数的实例
2018/07/16 Python
Python3实现计算两个数组的交集算法示例
2019/04/03 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
办公室主任先进事迹
2014/01/18 职场文书
大学生职业生涯规划范文
2014/01/22 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
技术经济专业求职信
2014/09/03 职场文书
群众路线对照检查材料
2014/09/22 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
订货会邀请函
2015/01/31 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python