2012-08-06 46 views
1

我有以下腳本檢測TAB按鍵,使腳本執行條件

$('.formfield:not(.NoHighlight, #P_PH_PHONE, #P120_PH_EMAIL) :input').focus(function(e){ 


      var currentElementonForm = $(this); 
      if(currentElementonForm.is("input[type=submit]")){ 
       currentElementonForm.parents('form').submit(); 
      } 

    }); 

目前,該頁面提交切換到此用戶(keyborad TAB鍵)提交按鈕。我想停止這一點,但只有當用戶點擊沒有選項卡按鈕時纔會這樣做。希望這個問題很清楚並且樂意給出更多細節。我曾嘗試檢測e.keyCode == 9,但它將其記錄爲「未定義」。

+1

請問這個問題有幫助嗎? http://stackoverflow.com/questions/4762594/jquery-keyup-for-tab-key – Paul 2012-08-06 10:46:37

+0

e.keyCode來作爲「未定義」未能識別事件鍵碼。 – Chin 2012-08-06 10:57:26

回答

0

我必須找到一種替代的方式來處理這個問題。問題是即使在使用TAB鍵時,「focus」事件也不會返回keyCode。所以必須使用不同的解決方案。這對我來說是新事物,希望這可能會讓有同樣問題的人受益。

0

enter code here編輯:由於keyCode不能正常工作,我們可以以不同的方式解決這個問題嗎?

$('.formfield input[type=submit]').click(function() { 
     $(this).parents('form').submit(); 
    }); 

$('.formfield:not(.NoHighlight, #P_PH_PHONE, #P120_PH_EMAIL) :input').focus(function(e){ 
      var currentElementonForm = $(this); 
      if(currentElementonForm.is("input[type=submit]")){ 
       var code = e.keyCode || e.which; 
       if (code !== 9) { 
        currentElementonForm.parents('form').submit(); 
       } 

      } 

    }); 
+0

謝謝..但e.keyCode結果爲「undefined」 – Chin 2012-08-06 10:58:14

+1

問題是keyCode在「焦點」事件時未觸發。 – Chin 2012-08-06 11:02:47