我需要将datepicker放在一个新的div中,这将是一个(shadow-)border-div.
我尝试了以下方法:
beforeShow: function (input) {
$(input).datepicker("widget")
.find(".ui-datepicker-header, ui-datepicker-calendar")
.wrapAll("<div class='datepickerBorder'/>");
}
但这行不通.
另外,我尝试包装整个选择器,但是border-div的位置,大小等不相同.
解决方法:
日期选择器控件是绝对定位的.将其包装在元素内将不包含该元素内的日期选择器-包装元素将仅位于页面底部,而日期选择器将呈现在控件旁边.
解决方案1:您可以将类添加到datepicker小部件本身:
$("#datepicker2").datepicker({
beforeShow: function() {
$(this).datepicker("widget").addClass("datepickerBorder");
},
onClose: function() {
$(this).datepicker("widget").removeClass("datepickerBorder");
}
});
解决方案2:在DOM加载时创建一个绝对定位的隐藏包装div,并在显示日期选择器后重新定位div的大小.有一个陷阱:您不能在beforeShow函数中检查窗口小部件的偏移量(它将渲染的坐标).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。