利用JS来控制键盘的上下左右键(示例代码)

 更新时间:2013年12月14日 09:01:46   作者:  
这篇文章主要介绍了利用JS来控制键盘的上下左右键示例代码。需要的朋友可以过来参考下,希望对大家有所帮助

这是一个JS初级代码,想学JS的朋友,可以研究下或者扩展下,最好能用JS实现整个键盘的控制,那感觉就很有意思了。

具体代码如下:

复制代码 代码如下:

<style>
tr.highlight{background:#08246B;color:white;}
</style>
<table border="1" width="70%" id="ice">
<tr>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
</tr>
<tr>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
</tr>
<tr>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
</tr>
<tr>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
</tr>
<tr>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
<td><input type='text'></td>
</tr>
</table>
<script language="javascript">
<!--
//定义初始化行列
var currentLine=-1;
var currentCol=-1;
document.onkeydown=function(e){
  e=window.event||e;
  switch(e.keyCode){
    case 37: //左键
      currentCol--;
      changeItem();
      break;
    case 38: //向上键
      currentLine--;
      changeItem();
      break;
    case 39: //右键
      currentCol++;
      changeItem();
      break;
    case 40: //向下键
      currentLine++;
      changeItem();
      break;
    default:
      break;
  }
}
//方向键调用
function changeItem(){
  if(document.all)
    var it=document.getElementByIdx_x("ice").children[0];
  else
    var it=document.getElementByIdx_x("ice");
  for(i=0;i<it.rows.length;i++){
    it.rows[i].className="";
  }
  if(currentLine<0){
    currentLine=it.rows.length-1;
  }
  if(currentLine==it.rows.length){
  currentLine=0;
  }
  var objtab=document.all.ice;
  var objrow=objtab.rows[currentLine].getElementsByTagName_r("INPUT");
  if(currentCol<0){
    currentCol=objrow.length-1;
  }else if(currentCol==objrow.length){
    currentCol=0;
  }
  objrow[currentCol].select();
  //调试使用
  it.rows[currentLine].className="highlight";
}
//-->
</script>

相关文章

  • js+HTML5 canvas 实现简单的加载条(进度条)功能示例

    js+HTML5 canvas 实现简单的加载条(进度条)功能示例

    这篇文章主要介绍了js+HTML5 canvas 实现简单的加载条(进度条)功能,涉及javascript使用时间函数与canvas绘图结合实现进度条的相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • 前端实现文本对比并高亮显示差异的方法

    前端实现文本对比并高亮显示差异的方法

    文本对比是一个常见需求,尤其在版本控制和代码编辑中,本文介绍了如何使用jsdiff库和diff2html工具来实现文本内容的差异比较和美化显示,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • 通过微信公众平台获取公众号文章的方法示例

    通过微信公众平台获取公众号文章的方法示例

    这篇文章主要介绍了通过微信公众平台获取公众号文章的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 使用JS动态构建目录树

    使用JS动态构建目录树

    本文详细讲解了使用JS动态构建目录树的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • JavaScript Map实现原理与底层结构详解

    JavaScript Map实现原理与底层结构详解

    哈希表(也称为哈希表)是一种基于键直接访问内存存储位置的数据结构。也就是说,它通过计算一个键值函数来加速查找,该函数将要查询的数据映射到表中的某个位置。该映射函数称为散列函数,记录数组称为散列表
    2022-09-09
  • 微信jssdk在iframe页面失效问题的解决措施

    微信jssdk在iframe页面失效问题的解决措施

    这篇文章主要介绍了微信jssdk在iframe页面失效问题的解决措施 的相关资料,需要的朋友可以参考下
    2016-03-03
  • js 回车提交表单两种实现方法

    js 回车提交表单两种实现方法

    js 回车提交一些新手朋友还是比较陌生的,本文介绍两种实现方法:jQuery方法、JavaScript方法,感兴趣的朋友可以研究下
    2012-12-12
  • 微信小程序 bindtap 事件多参数传递的代码示例

    微信小程序 bindtap 事件多参数传递的代码示例

    在微信小程序中,我们无法直接通过 bindtap="handleClick(1,2,3)" 的方式传递参数,而是通过自定义属性data- 的方式传递,并在事件回调函数中通过event.currentTarget.dataset获取这些参数,本文给大家介绍小程序 bindtap 事件多参数传递的实例代码,感兴趣的朋友一起看看吧
    2023-12-12
  • Javascript中的this,bind和that使用实例

    Javascript中的this,bind和that使用实例

    这篇文章主要介绍了Javascript中的this,bind和that使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • JS如何循环遍历JSON数据

    JS如何循环遍历JSON数据

    这篇文章主要介绍了JS如何循环遍历JSON数据的方法,本文提供了 JS 循环 JSON 数据列,以及 JS 循环遍历 JSON 数据的例子,需要的朋友可以参考下
    2024-01-01

最新评论