2011-08-09 5 views
1

誰かが、テキストボックスのフォーカスを合わせたときにjQuery timepicker addonが自動的に開くのを防ぐ方法を知っていますか?ドキュメントは方法を提供していないと私は現在、私は機能を追加することができます見ているソースを見ている私はこれを達成するための簡単な方法を見落としている?jQueryタイムピッカーのアドオンが自動的に開かないようにする

+0

:ここ

が、これは、時間ピッカーのために使用することができる方法の例ですか? –

+0

ある時点で後で。例えば、ボタンを押す。 –

+0

その後、ボタンのクリックイベントが発生するまで、 '$( '#yourelement')。datetimepicker();'を呼び出さないでください。 –

答えて

2

クリックしただけで(入力ボックスのフォーカスも合わせて)datetimepickerを開始し、ピッカーが閉じられたときにオブジェクトを破棄する方法はありますか?

$('#button').click(function() { 
    $('#timepicker').datetimepicker({ 
     onClose: function(dateText, inst) { 
      $(this).datetimepicker('destroy'); 
     } 
    }).focus(); 
}); 

例:http://jsfiddle.net/william/NRH9r/

+0

私が思いついた賢い、はるかに良い。ありがとうございました! –

0

datetimepickerからonfocusイベントを削除するには、unbind()というjquery関数を使用してください。次に、クリックイベントまたは発生させたい他のイベントを発生させたときに、datetimeピッカーのインスタンスを呼び出すことができます。別のオプションは、datetimepickerを起動するonfocusイベントを呼び出し、イベントオブジェクトをコールバック関数に渡すことです。次に、たとえばevent.preventDefault()を呼び出します。これにより、onfocus()イベントが通常どおりに行うことができなくなります。

+0

あなたの最も簡単な解決策は、$(document).ready(function(){ $( '。selector')。datepicker({showOn: 'button'}); })です。 –

0

timepickerはjqueryのUIの日付ピッカーへのアドオンであるとして、あなたはボタンが、それをトリガするために使用されていることを指定するshowOnオプションを使用することができます。日付ピッカーの例hereを参照してください。あなたは、時間ピッカーを開きたいんとき

$('input:text.timepicker').timepicker({ 
     showOn: "button", 
     buttonImage: "/content/images/time_icon.png", 
     buttonImageOnly: true 
    }); 
関連する問題