溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么為JQuery EasyUI表單組件增加焦點切換功能

發布時間:2022-03-29 10:40:37 來源:億速云 閱讀:217 作者:iii 欄目:開發技術

這篇文章主要介紹了怎么為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"); //?。ó斍敖裹c--父元素--前一元素)的 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 屬性

怎么為JQuery EasyUI表單組件增加焦點切換功能

4、約束和限制

由于函數實現時,tabindex 采用 +1的方式,去查找下一元素,所在頁面設置 tabindex 屬性時,一定要連續,否則在斷續的地方,將不起作用。

關于“怎么為JQuery EasyUI表單組件增加焦點切換功能”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么為JQuery EasyUI表單組件增加焦點切換功能”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女