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 相关文章推荐
NiftyCube——轻松实现圆角边框
Feb 20 Javascript
Javascript 文件夹选择框的两种解决方案
Jul 01 Javascript
jquery tab插件制作实现代码
Jun 22 Javascript
js 弹出框 替代浏览器的弹出框
Oct 29 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
Apr 19 Javascript
网站接入QQ登录的两种方法
Jul 22 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
Aug 13 Javascript
canvas绘制万花筒效果(代码分享)
Jan 20 Javascript
AngularJS 中的数据源的循环输出
Oct 12 Javascript
如何在 JavaScript 中更好地利用数组
Sep 27 Javascript
微信小程序实现下拉刷新动画
Jun 21 Javascript
Vue项目中使用WebUploader实现文件上传的方法
Jul 21 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中如何防止表单的重复提交
2013/08/02 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
zend framework重定向方法小结
2016/05/28 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
List the Codec Files on a Computer
2007/06/11 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
jQuery产品间断向下滚动效果核心代码
2014/05/08 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
Vue.set 全局操作简单示例
2019/09/19 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
Python使用MyQR制作专属动态彩色二维码功能
2019/06/04 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
浅谈HTML5 &amp; CSS3的新交互特性
2016/07/19 HTML / CSS
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
新春联欢会主持词
2014/03/24 职场文书
中秋晚会策划方案
2014/06/12 职场文书
安全检查汇报材料
2014/12/26 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
美容院管理规章制度
2015/08/05 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书