Ext实现页面表单Enter全键盘导航

本文介绍了一种在Web应用中实现全键盘导航的方法,通过监听Enter键来模拟Tab键的行为,从而帮助用户更高效地填写表单。代码示例基于Ext框架。

 在web软件中,很多时候我们希望提供用户一个键盘表单导航的功能,使用Enter代替tab实现表单的导航。
思路基本就是遍历页面的input字段,为每个表单项增加一个enter键的监听,如果出发了enter键则程序在触发tab键即可。

下面是在ext中实现的键盘导航的代码。

 

  1. **
  2. * 表单全键盘导航功能
  3. * index:可选参数,用于设定页面加载完成后默认获取焦点的表单项,支持索引号和id/dom类型参数传入。
  4. */
  5. var keyNav = function(index){
  6.     var run=function(){
  7.         var all=Ext.DomQuery.select('input[type!=hidden]'); //查找所有非隐藏的录入向(ext中select都是用input模拟的所以这里不用找select)
  8.         Ext.each(all,function(o,i,all){ //遍历并添加enter的监听
  9.             Ext.get(o).addKeyMap({
  10.                 key : 13,
  11.                 fn : function() {
  12.                     try{all[i+1].focus()}catch(e){event.keyCode=9}
  13.                     if(all[i+1]&&/button|reset|submit/.test(all[i+1].type)) all[i+1].click();   //如果是按钮则触发click事件
  14.                     return true;
  15.                 }
  16.             })
  17.         });
  18.         document.body.focus();  //使页面获取焦点,否则下面设定默认焦点的功能有时不灵验
  19.         try{
  20.             var el;
  21.             if(typeof eval(xFocus)=='object'){  //如果传入的是id或dom节点
  22.                 el=Ext.getDom(xFocus).tagName=='input'?Ext.getDom(xFocus):Ext.get(xFocus).first('input',true);  //找到input框
  23.             }else{
  24.                 el=all[xFocus||0];  //通过索引号找
  25.             }
  26.             el.focus();
  27.         }catch(e){} 
  28.     }
  29.     Ext.isReady?run():Ext.onReady(run);  //页面加载完成后添加表单导航
  30. }
乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值