微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在滚动时保持jquery ui datepicker到位(坚持输入控件)?

在阅读了很多关于这个主题内容后,我仍然处于如何处理解决问题的黑暗中.为了澄清问题,我希望日历与输入控件相关联,而不是在任何屏幕位置保持固定.
这是没有滚动的图像:(这也是我想在滚动上保留的内容)

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

任何提示将不胜感激.
更新:
这是一个密切描述问题的link,我希望日历在滚动时坚持控件.

解决方法

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

这是一个演示http://jsfiddle.net/joycse06/m6A5q/embedded/result/演示问题的小提琴.单击输入并尝试滚动该div.

这是因为jQuery UI创建日历UI作为相对于文档或窗口的绝对位置而不是容器可滚动div.因此,当滚动可滚动div时,主窗口的滚动上下文不会更改,因此datepicker日历不会跟随该div中的其他html元素.

因此,解决方案可以是在滚动div时隐藏日历,这是有意义的,如果输入不可见,则可以隐藏日期选择器日历.所以更新的代码将是

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

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

$(window).resize(function() {
  datePicker.datepicker('hide');
  $('#datepicker').blur();
});

当滚动容器div或窗口时,它将隐藏日期选择器.这是一个工作小提琴http://jsfiddle.net/joycse06/m6A5q/2/

我正在使用$(‘#datepicker’).blur();因为当用户滚动.demo日历隐藏但输入仍然是焦点时,所以当他向后滚动时他可能会感到困惑.因此,当我模糊它时,他将不得不再次点击输入并显示日期选择器.

原文地址:https://www.jb51.cc/jquery/181314.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐