jQueryUI 中的日期选择器以动态位置呈现。如果有足够的空间,它会根据其 css 进行渲染,但如果没有足够的窗口空间,它会尝试在屏幕上渲染。我需要它每次都保持原样并在同一个地方渲染,与屏幕位置或其他情况无关。jQueryUI 日期选择器如何做到这一点?jQuery datepicker 的其他实现似乎有这样做的方法,但我看不到 UI 版本的方法。
答案似乎不仅仅是修改css:
.ui-datepicker { width: 17em; padding: .2em .2em 0; (trying top/margin-top/position:relative, etc. here...)}
...自从创建日期选择器后,它会以元素样式动态创建顶部和左侧。还没有找到解决这个问题的方法。我看到的一种方法是在 beforeShow 选项中给出类似的内容:
beforeShow: function(input,inst){
inst.dpDiv.css({
'top': input.offsetHeight+ 'px',
'left':(input.offsetWidth - input.width)+ 'px'
});
}
这有一些效果,但在日期选择器呈现时运行后,top 和 left 属性仍会动态设置。它仍在尝试在屏幕上渲染。如何让它始终在同一个位置渲染?我的下一步可能是进入 datepicker 的胆量并开始把东西拉出来。有任何想法吗?
请注意,答案(对于 UI 版本)不在: