如何在滚动时保持jQueryUIDatePicker的位置(坚持输入控件)?

如何在滚动时保持jQueryUIDatePicker的位置(坚持输入控件)?,jquery,css,jquery-ui,uidatepicker,Jquery,Css,Jquery Ui,Uidatepicker,在读了很多关于这个问题的文章后,我仍然不知道如何解决这个问题。为了澄清这个问题,我希望日历和相关的输入控件一起滚动,而不是固定在任何屏幕位置。 这是一张没有卷轴的图片:(这也是我想保存在卷轴上的内容) 这里是滚动时的图像:(这不是我想要的) 任何小费都将不胜感激。 更新: 这是一个很好地描述了这个问题的例子,我希望日历在滚动时能保持在控件上 我不确定您的是不是一个可滚动的div,但这里出现的问题是jQuery UI日期选择器在可滚动的div中不随HTML内容移动 这里有一个小提琴演示了这个问

在读了很多关于这个问题的文章后,我仍然不知道如何解决这个问题。为了澄清这个问题,我希望日历和相关的输入控件一起滚动,而不是固定在任何屏幕位置。 这是一张没有卷轴的图片:(这也是我想保存在卷轴上的内容)

这里是滚动时的图像:(这不是我想要的)

任何小费都将不胜感激。 更新:
这是一个很好地描述了这个问题的例子,我希望日历在滚动时能保持在控件上

我不确定您的是不是一个可滚动的div,但这里出现的问题是jQuery UI日期选择器在可滚动的div中不随HTML内容移动

这里有一个小提琴演示了这个问题。单击输入并尝试滚动该div

这是因为jQuery UI将日历UI创建为相对于
文档
窗口
的位置
绝对
相对
,而不是容器可滚动div。因此,当可滚动div被滚动时,主窗口的滚动上下文不会改变,因此日期选择器日历不会跟随其他html元素在那个部门

因此,解决方案是在滚动div时隐藏日历,如果输入不可见,则可以隐藏datepicker日历。因此,更新后的代码将

var datePicker = $('#datepicker').datepicker();

$(".demo").scroll(function() {
  datePicker.datepicker('hide');
  $('#datepicker').blur();
});

$(window).resize(function() {
  datePicker.datepicker('hide');
  $('#datepicker').blur();
});
滚动容器div或窗口时,它将隐藏日期选择器。这是一把小提琴


我使用的是
$('#datepicker').blur()因为当用户滚动
.demo
日历时,日历会隐藏,但
输入仍会聚焦,因此当用户向后滚动时,他可能会感到困惑。因此,当我模糊它时,他必须再次单击
输入
,日期选择器就会出现。

您的设置可能有问题,因为在演示中,滚动时日历会粘在输入字段上。你能展示一些代码吗?好像它的位置是:固定的而不是:绝对的。。。有链接吗?谢谢回复,我不能提供链接,因为我工作的网站不是公共的,对不起@乔伊我注意到我自己和它让我更加困惑!?包含日期选择器的div是绝对位置。也许可以使用esential标记设置日历?这里有一个指向esential标记的链接:感谢Joy,这本来是我的解决方案,但负责的开发人员坚持日历应该由它控制+1为替代解决方案尼斯解决了我的问题..谢谢:)这不是实际的解决方案,因为只有在通过滚动条滚动时,日期选择器才会隐藏(即,当我们在不单击任何内容的情况下通过鼠标滚动时,日期选择器不会隐藏)