js实现enter键tab功能

这篇博客介绍了一个JavaScript代码片段,用于在用户按下Enter键时模拟Tab键的效果,确保在非按钮、非提交、非重置、非文本区域输入框中切换焦点。同时,博主还简单讲解了`document.all`在IE浏览器中的功能,包括作为所有页面元素集合、判断浏览器是否为IE、通过ID获取元素以及其在处理元素数组时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



这个是不用修改,直接放在js里就可以用的:

//按enter键实现tab键的效果
document.onkeydown=function(evt){
 //document.all可以判断浏览器是否是IE,是页面内所有元素的一个集合
 var isie = (document.all) ? true : false;
 var key;
 var srcobj;
 // if the agent is an IE browser, it's easy to do this.
 if (isie) {
  key = event.keyCode;
  srcobj=event.srcElement;//event.srcElement,触发这个事件的源对象
 }
 else {
  key = evt.which;
  srcobj=evt.target;//target是Firefox下的属性
 }
 if(key==13 && srcobj.type!='button' && srcobj.type!='submit' &&srcobj.type!='reset' && srcobj.type!='textarea' && srcobj.type!='') {
  if(isie)
   event.keyCode=9;//设置按键为tab键
  else {
   var el=getNextElement(evt.target);
   if (el.type!='hidden')
    ;   //nothing to do here.
   else
    while(el.type=='hidden')
     el=getNextElement(el);
   if(!el)
    return false;
   else
    el.focus();
  }
 }
}


function getNextElement(field) {
 var form = field.form;
 for(var e = 0; e < form.elements.length; e++) {
  if (field == form.elements[e])
  break;
 }
 return form.elements[++e % form.elements.length];
}

顺便介绍一下document.all的功能:

document.all用法 
一.

document.all是页面内所有元素的一个集合。例如:      
document.all(0)表示页面内第一个元素
二.
document.all可以判断浏览器是否是IE  
if(document.all)

{  
    alert("is   IE!");  
}
三.
也可以通过给某个元素设置id属性(id=aaaa),然后用document.all.aaaa调用该元素
四.
案例:

代码1:    
  <input   name=aaa   value=aaa>  
  <input   id=bbb   value=bbb>   
  <script   language=Jscript>  
      alert(document.all.aaa.value)     //根据name取value  
      alert(document.all.bbb.value)     //根据id取   value  
  </script>    
代码2:  
但是常常name可以相同(如:用checkbox取用户的多项爱好的情况)   
  <input   name=aaa   value=a1>  
  <input   name=aaa   value=a2>  
  <input   id=bbb   value=bbb>  
  <script   language=Jscript>  
      alert(document.all.aaa(0).value)     //显示a1  
      alert(document.all.aaa(1).value)     //显示a2  
      alert(document.all.bbb(0).value)     //这行代码会失败 
  </script>    
代码3:  
理论上一个页面中的id是互不相同的,如果出现不同tags有相同的id  
  document.all.id   就会失败,就象这样:  
  <input   id=aaa   value=a1>  
  <input   id=aaa   value=a2>  
  <script   language=Jscript>  
      alert(document.all.aaa.value)     //显示   undefined   而不是   a1或者a2 
  </script>  

 也就是说document.all[]是文档中所有标签组成的一个数组变量,
包括了文档对象中所有元素
 document.all[]这个数组可以访问文档中所有元素。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值