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 JSON的解析方式
Jul 25 Javascript
jquery的index方法实现tab效果
Feb 16 Javascript
在新窗口打开超链接的方法小结
Apr 14 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
ES6通过babel转码使用webpack使用import关键字
Dec 13 Javascript
微信小程序 slider 详解及实例代码
Jan 10 Javascript
详解如何使用Vue2做服务端渲染
Mar 29 Javascript
JavaScript使用ZeroClipboard操作剪切板
May 10 Javascript
微信小程序之滚动视图容器的实现方法
Sep 26 Javascript
Angular移动端页面input无法输入的解决方法
Nov 14 Javascript
vue实现前进刷新后退不刷新效果
Jan 26 Javascript
基于JavaScript实现幸运抽奖页面
Jul 05 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
加速XP搜索功能堪比vista
2007/03/22 PHP
PHP中余数、取余的妙用
2015/06/29 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
Python实现八皇后问题示例代码
2018/12/09 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
六查六看剖析材料
2014/02/15 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
李敖北大演讲稿
2014/05/24 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
实习班主任自我评价
2015/03/11 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers