我的项目有一个日期选择器,其上一个/下一个月有按钮。 它看起来像这样:
但是当我点击控件左右两侧的按钮时,它会突然消失。
jquery函数:
$( "#departDate" ).datepicker({
showOtherMonths: true,
//inline:true,
dateFormat: 'dd-mm-yy',
numberOfMonths: 2,
selectOtherMonths: true,
minDate: 0,
onClose: function (selectedDate) {
$("#arriveDate").datepicker("option", "minDate", selectedDate);
if (!single && $("#arriveDate").val()=="")
$("#arriveDate").focus();
}
});
我试图评论onClose:
和minDate
,但这些问题都没有解决。
当我删除此日期选择器上的模糊功能时,它会停止消失。但是当我点击这个工具的任何地方时,我需要让它消失。
答案 0 :(得分:2)
您应该添加点击事件,检查日期选择器中的所有元素。这可能对你有用:
$(document).on("click", function (e) {
var elem = $(e.target);
if (!elem.hasClass("hasDatepicker") &&
!elem.hasClass("ui-datepicker") &&
!elem.hasClass("ui-icon") &&
!elem.hasClass("ui-datepicker-next") &&
!elem.hasClass("ui-datepicker-prev") &&
!$(elem).parents(".ui-datepicker").length) {
$('#departDate').datepicker('hide');
}
答案 1 :(得分:1)
我认为你正在使用两个js文件,你的下一个按钮将覆盖它们 所以尝试在html页面上更改js文件的序列
答案 2 :(得分:1)
我发现 fiddle 中仍未发现此问题。
既然你提到了,
当我删除此日期选择器上的模糊功能时,它会停止消失。 但是当我点击这个工具的任何地方时,我需要让它消失吗?
每当您点击日期选择器外,我都会有workaround solution喜欢,它会被隐藏。
$(document).on('click',function (e) {
var container = $("#departDate");
if (!container.is(e.target)
&& container.has(e.target).length === 0) {
container.hide();
}
});
中查看此内容
希望你能理解。