当前位置:首页 > 日记 > 正文

为JQuery EasyUI 表单组件增加焦点切换功能的方法

为JQuery EasyUI 表单组件增加焦点切换功能的方法

1、背景说明

    在使用 JQuery  EasyUI 各表单组件时,实际客户端页面元素是由 JQuery EasyUI 生成的,元素的焦点切换,虽然 Tab 键可以正常用,但顺序控制属性 tabindex 不起作用,因为页面看到的元素,是生成的,没有tabindex 属性,而真实的元素被隐藏了。本文通过一个自定义函数,实现Tab回车键的焦点切换功能。

2、函数定义

 通过捕获窗口按件,对回车和Tab键进行了热点切换处理。先根据当前焦点,获取需要tabindex 属性,加1后为下一焦点无素的属性值,根据这一属性找到下一焦点元素,并设置成焦点。

//增加改变焦点操作function addChangeFocusOpe(){ $(window).keydown(function(event){//按键事件  if(event.keyCode==13 || event.keyCode==9) //回车 或 tab键  {   var tabindex = $($(':focus').parent()[0]).prev().attr("tabindex"); //取(当前焦点--父元素--前一元素)的 tabindex 属性。该结构根据jQuery EasyUI生成的页面结构而定。   if(tabindex != undefined)   {    var nextIndex = parseInt(tabindex) + 1; //下一焦点元素tabindex编号    var nextInput = $("input[tabindex='"+nextIndex+"']"); //查找下一焦点元素    if(nextInput.length > 0);    {     var nextObj = $(nextInput[0]);     var options = nextObj.attr("data-options"); //设置的属性值,用于判断是否是“文本区域”     var focusObj = $(nextInput[0]).next('span').find('input'); //元素--下一span元素 --内部input。该结构根据jQuery EasyUI生成的页面结构而定     if(options.indexOf("multiline:true") != -1)     {//要设置焦点的元素是“文本区域”      focusObj = nextObj.next('span').find('textarea');     }     focusObj.focus(); //设置焦点    }   }  }  if(event.keyCode==9)  {//对于tab键,则取消其本有功能,因为上面已完成焦点转换    return false;  } });}

3、使用方式

(1)页面调用函数

$(function(){  $('#code').next('span').find('input').focus(); //第一个元素设置焦点  addChangeFocusOpe(); //页面增加焦点切换操作 });

(2)表单元素设置 tabindex 属性

4、约束和限制

由于函数实现时,tabindex 采用 +1的方式,去查找下一元素,所在页面设置 tabindex 属性时,一定要连续,否则在断续的地方,将不起作用。

以上这篇为JQuery EasyUI 表单组件增加"焦点切换"功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

相关文章

ps怎么设计一款漂亮梦幻的中秋海报

ps怎么设计一款漂亮梦幻的中秋海报

中秋,海报,梦幻,漂亮,电脑软件,今天我们就来看看ps设计中秋节海报的教程,中秋节马上到了,学习制作一个中秋海报也不错,请看下文详细介绍。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、新建图层填充颜…

wps数字格式怎样设置

wps数字格式怎样设置

设置,方法,数字,文字,格式,  WPS文字怎么更改数字类型?我们使用WPS文字进行文档编辑时,难免会对文档进行一些编号处理,那么要怎样设置wps呢?下面小编就教你WPS文字设置数值格式的方法吧,希望小编整理的资料对大家有帮助。WPS文字设置数值格…

PS怎么制作透明的彩色线稿图?

PS怎么制作透明的彩色线稿图?

透明,彩色,电脑软件,PS,线稿图,大多数人提到PS时想到的是修图,磨皮。接下来给大家介绍新的玩法:如何使用PS制作透明彩色线稿图。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、打开一张需要制作的jpg…

WPS表格照相机使用方法是什么

WPS表格照相机使用方法是什么

照相机,使用方法,表格,电脑软件,WPS,  也许你有发现,在WPS工具栏中有一个“照相机”功能,可以用来拍照吗?以下是小编为您带来的关于WPS照相机使用方法,希望对您有所帮助。WPS照相机使用方法一、我们先在表格中建立一个数据区域并…

ps怎么合成人物头像创意海报?

ps怎么合成人物头像创意海报?

创意,头像,海报,人物,电脑软件,ps想要设计一幅人物头像创意海报,该怎么设计呢?下面我们就来看看详细的教程。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、准备素材和新建文件2、把人物的头部抠出来,…

zTree异步加载展开第一级节点的实

zTree异步加载展开第一级节点的实

异步加载,方法,节点,电脑软件,zTree,在 setting 中的 callback 中加上 onAsyncSuccess:onAsyncSuccess 回调函数 , 然后实现回调函数 var isFirst = true;function onAsyncSuccess(event, treeId) { if (isFirst) { //获得树形图…

js排序与重组的实例讲解

js排序与重组的实例讲解

排序,实例,电脑软件,js,前几天同学发给我一个问题,思路想整理一下,也供大家参考。实际上这道题本质就是考察的是去重与排序的问题。好了闲话少说,上题。function input(req){if(req<=100){var arr=[],arr1=[];for(var i=0;i<req;i++){var num=…

Vue ElementUI之Form表单验证遇到

Vue ElementUI之Form表单验证遇到

表单验证,电脑软件,Vue,ElementUI,Form,首先说一下 我在form表单里面遇见的坑:1.例如我要给后台传的不是对象,而是一个数组,怎么写验证?2.比如我有四个弹出框,都要做验证,这个时候就要注意了,每一个弹出框的ref都不能给的一样,并且一定要与当前弹框…

vue打包后显示空白正确处理方法

vue打包后显示空白正确处理方法

方法,显示,正确处理,空白,电脑软件,在项目中很多时候需要用到vue打包成html不需要放在服务器上就能浏览。根据官网打包出来的html直接打开是显示空白。vue打包后显示空白正确处理方法是1、找到配置文件修改这样打包处理可以打开但是页面样…

微信小程序(六):列表上拉加载下拉刷新

微信小程序(六):列表上拉加载下拉刷新

下拉刷新,列表,上拉加载,示例,程序,1.列表(本部分内容出入官方文档)对于这个功能,微信小程序中并没有提供类似于Android中listview性质的控件,所以我们需要使用 wx:for 控制属性绑定一个数组,用数组中各项的数据重复渲染该组件,来达到列表的效果…

apache2.0x 开启gzip压缩和http缓

apache2.0x 开启gzip压缩和http缓

配置,缓存,压缩,方法,电脑软件,先谈gzip的配置方法,在apache2.0以上(包括apache2.0)的版中gzip压缩使用的是mod_deflate模块,下面是具体配置步骤:第1步LoadModule deflate_module modules/mod_deflate.soLoadModule headers_module modules/mod_…