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 Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
Apr 01 Javascript
深入了解javascript中的prototype与继承
Apr 14 Javascript
jQuery焦点图切换简易插件制作过程全纪录
Aug 27 Javascript
Node.js实用代码段之获取Buffer对象字节长度
Mar 17 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
Jul 24 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
Oct 29 Javascript
Vue组件通信实践记录(推荐)
Aug 15 Javascript
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
angular1.x ui-route传参的三种写法小结
Aug 31 Javascript
zepto.js 实时监听输入框的方法
Dec 04 Javascript
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 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里得到前天和昨天的日期的代码
2007/08/16 PHP
php 调用远程url的六种方法小结
2009/11/02 PHP
php四种定界符详解
2017/02/16 PHP
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
使用vue-router为每个路由配置各自的title
2018/07/30 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
python获取文件扩展名的方法
2015/07/06 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
使用python+whoosh实现全文检索
2019/12/09 Python
Python常用库大全及简要说明
2020/01/17 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
估算杭州有多少软件工程师
2015/08/11 面试题
计算机专业职业规划
2014/02/28 职场文书
环境建设实施方案
2014/03/14 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
给老婆的道歉信
2015/01/20 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python