jQueryUIの日付ピッカーは動的な位置でレンダリングされます。十分なスペースがある場合はcssに従ってレンダリングしますが、十分なウィンドウスペースがない場合は、画面にレンダリングしようとします。画面の位置やその他の状況に関係なく、毎回同じ場所に配置してレンダリングする必要があります。これはjQueryUIdatepickerでどのように行うことができますか?jQuery datepickerの他の実装にはこれを行う方法があるようですが、UIバージョンでそれを行う方法がわかりません。
答えは、cssを変更するだけではないようです。
.ui-datepicker { width: 17em; padding: .2em .2em 0; (trying top/margin-top/position:relative, etc. here...)}
... datepickerが作成されると、要素スタイルで上部と左側が動的に作成されます。これを回避する方法はまだ見つかりません。私が見たアプローチの1つは、beforeShowオプションで次のようなものを指定することです。
beforeShow: function(input,inst){
inst.dpDiv.css({
'top': input.offsetHeight+ 'px',
'left':(input.offsetWidth - input.width)+ 'px'
});
}
これにはある程度の効果がありますが、datepickerがレンダリングされるときにこれが実行された後も、上部と左側のプロパティは動的に設定されます。まだ画面にレンダリングしようとしています。常に同じ場所にレンダリングするにはどうすればよいですか?私の次のステップは、おそらくデートピッカーの内臓に入り、物事を引き出し始めることです。何か案は?
(UIバージョンの)答えは次の場所にないことに注意してください。