2011-05-03 124 views
9

嘿傢伙..如何鎖定或禁用,並再次用JavaScript tab鍵用JavaScript鎖定tab鍵?

+0

在你需要這樣做的目的是什麼? – 2011-05-03 15:10:26

+0

你是什麼意思*鎖定/禁用標籤鍵*?你的意思是如何防止** TAB **鍵將焦點轉移到下一個可調焦元素? – 2011-05-03 15:12:18

+1

下面的答案很好,但讓我警告你,大多數用戶不會喜歡你阻止他們使用他們的標籤。在我的情況下,如果它不是一款遊戲,我會盡快離開網站。 – 2011-05-03 15:22:25

回答

25
$(document).keydown(function(objEvent) { 
    if (objEvent.keyCode == 9) { //tab pressed 
     objEvent.preventDefault(); // stops its action 
    } 
}) 
+0

這是工作,再次打開?我可以使用任何選擇器代替$(文檔) – PsyGnosis 2011-05-03 15:21:54

+0

@診斷,簡短的回答:*是* :-) – Neal 2011-05-03 15:22:24

+1

最後一個問題iPhone safari瀏覽器有下一個和上一個按鈕..就像工程tab鍵..但這個代碼不工作在iphone上的下一個按鈕..我該怎麼做? – PsyGnosis 2011-05-03 15:41:52

12

你可以這樣說:

$(":input, a").attr("tabindex", "-1"); 

這將在各個環節與標籤禁用越來越聚焦和表單元素。

希望這有助於

+0

嘿這是工作,但如何重新打開? – PsyGnosis 2011-05-03 15:52:14

+0

@psygnosis $(「:input,a」)。removeAttr(「tabindex」); – 2013-09-27 11:26:54

0

在尼爾的答案,我只補充:

if (objEvent.keyCode == 9) { //tab pressed 
    return; 
} 

因爲當你輸入完公積金按TAB鍵,它算作一個字符和變化CNPJ面具。

完整代碼:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#cpfcnpj").keydown(function(objEvent){ 
     if (objEvent.keyCode == 9) { //tab pressed 
      return; 
     } 
     try { 
      $("#cpfcnpj").unmask(); 
     } catch (e) {} 

     var size= $("#cpfcnpj").val().length; 

     if(size < 11){ 
      $("#cpfcnpj").mask("999.999.999-99"); 
     } else { 
      $("#cpfcnpj").mask("99.999.999/9999-99"); 
     }     
    }); 
}); 
</script> 
+0

請用英文填寫您的答案。Stack Overflow是一個只有英文的網站,所有問題和答案都必須使用英文。 – 2016-06-24 02:52:57

+0

已翻譯爲英文。 – Nighto 2017-03-24 18:21:38