2011-08-23 38 views
1

以下代碼顯示了單擊(最初隱藏)文本框後的Jquery UI Date Picker。任何人都知道如何讓'tab'按鈕來激活它?這種情況下的datepicker類適用於文本框。許多用戶將使用標籤,而不是點擊,它不會馬上工作..Jquery UI live():關注'click'以外的事件

$(function() { 
    $('.datepicker').live('click', function() { 
      $(this).datepicker({showOn: 'both'}).focus(); 
    }); 
}); 

回答

2

當你說「允許‘選項卡’按鈕,激活」,我想你的意思是打標籤,將焦點切換到文本框?如果是這種情況,the live handler也適用於focus事件,因此您可以更改代碼來捕獲focus事件而不是clickclick將導致該字段獲得焦點&也會如此)。

編輯: ..oops,重新閱讀代碼,我匆忙例如會導致一個無限循環的焦點,試試這個來代替:

$(function() { 
    $('#ReferenceNumber').live('focus', function() { 
     var picker = $(this).datepicker({showOn: ''}); 
     picker.datepicker("show"); 
    }); 
}); 
+0

這工作 - 但它不會消失。它保持專注..任何想法爲什麼? – Zakman411

+0

@ Zakman411 - 看我的編輯。 – Alconja

+0

工作完美 - 謝謝! – Zakman411

1

你可能要委託上的keydown。

$('body').live('keydown',function(e){ 
     //Keycode 9 is the tab key 
     if(e.keyCode == 9) { 
      $('.datepicker').datepicker({showOn: 'both'}).focus(); 
     } 
});