我正在尝试使用Jquery ui datepicker 1.10.3和jquery 2.0.2。同样使用requirejs,Zurb基础作为表格和网格的基本样式。
这听起来像是一个日期选择器问题,但它只是用例,我必须将其他随机元素放在同一个问题上。
我只是想在IE 9,10以及最新的几个Chrome版本中使用它。
我将日期选择器包裹在一个淘汰赛绑定中。
ko.bindingHandlers.datepicker = {
init: function (element, valueAccessor, allBindingsAccessor) {
//initialize datepicker with some optional options
var options = allBindingsAccessor().datepickerOptions || {};
$(element).datepicker(options);
....
我有两个大页面。第一页是非常大的形式,几百个输入,一切都很好。
在第二页是问题的开始。
它有许多大型窗体,它们位于彼此前面移动的窗格上。这个动态页面打破了jquery ui定位。
我尝试通过调整beforshow上的边距来手动定位日期选择器,它适用于IE中的muilti窗格页面但不适用于chrome。它打破了简单的页面。
我无法修改jqueryui中的_checkOffset函数。我想根据页面中的位置保持选择器的高低位置。
在Chrome和IE中找到正确位置的正确方法是什么?
这是我修改后的绑定。适用于IE浏览器中的muilti页面,打破chrome并且简单页面已损坏。
ko.bindingHandlers.datepicker = {
init: function (element, valueAccessor, allBindingsAccessor) {
//initialize datepicker with some optional options
var options = allBindingsAccessor().datepickerOptions || {};
debugger;
options.beforeShow = function (textbox, instance) {
//debugger;
instance.dpDiv.css({
//marginTop: (-textbox.offsetHeight) + 'px',
//marginLeft: textbox.offsetWidth + 'px',
marginTop: ($(document).scrollTop() || document.body.scrollTop) + 'px'
});
};
$(element).datepicker(options);
....
muilti页面ccs的定位如下所示。使用带有前缀的Modernizr。
.perspective {
position: relative;
width: 100%;
height: 100%;
-webkit-perspective: 1200px;
-moz-perspective: 1200px;
perspective: 1200px; }
.pane {
width: 100%;
height: 100%;
position: absolute;
margin-top: 0px;
opacity: 0;
top: 0;
left: 0;
visibility: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d; }
.current {
opacity: 1;
visibility: visible;
z-index: 1; }
所以标记是这样的。
<div id="panel_container" class="perspective">
<div id="Pane3Container" class="pane">
@Html.Partial("_Form3")
</div>
<div id="Pane2Container" class="pane current">
@Html.Partial("_Form2")
</div>
<div id="Pane1Container" class="pane">
@Html.Partial("_Form1")
</div>
</div>
谢谢!