如何控制jQueryUI datepicker的定位

前端之家收集整理的这篇文章主要介绍了如何控制jQueryUI datepicker的定位前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
jQueryUI中的datepicker使用动态位置呈现。它渲染根据它的CSS如果有足够的空间,但如果没有足够的窗口空间,它试图在屏幕上呈现。我需要它每次都放在相同的地方放置和渲染,独立的屏幕位置或其他情况。如何使用jQueryUI datepicker做到这一点? jQuery datepicker的其他实现似乎有办法做到这一点,但我没有看到一个方法做它的UI版本。

答案似乎不是只是修改css:

.ui-datepicker { width: 17em; padding: .2em .2em 0; (trying top/margin-top/position:relative,etc. here...)}

…因为当创建datepicker时,它动态地创建顶部和左侧的元素样式。还没有找到一个办法。我看到的一种方法是在beforeShow选项中给这样的东西:

beforeShow: function(input,inst){
                                inst.dpDiv.css({ 
                                   'top': input.offsetHeight+ 'px','left':(input.offsetWidth - input.width)+ 'px'
                                               });
                                }

这有一些效果,但顶部和左边的属性仍然是动态设置后,日期控制器渲染后运行。它仍然试图在屏幕上呈现。我如何让它总是在同一个地方渲染?我的下一步可能是进入日期管理器,并开始拉出的东西。有任何想法吗?

请注意,答案(对于UI版本)不在:

> how-to-change-the-pop-up-position-of-the-jquery-datepicker-control
> change-the-position-of-jquery-ui-datepicker

解决方法

发布这个,希望它会帮助别人。至少在datepicker的v1.8.1版本中,使用’window.DP_jQuery.datepicker’不再有效,因为指针(右项?)现在以其创建的时间戳命名 – 例如现在是’window。 DP_jQuery_1273700460448’。所以现在,而不是使用指针到datepicker对象,直接参考它,像这样:
$.extend($.datepicker,{_checkOffset:function(inst,offset,isFixed){return offset}});

非常感谢以下答案让我需要什么。

猜你在找的jQuery相关文章