Javascript 当我点击日期选择器之外的已知容器时,有没有办法防止剑道日期选择器日历弹出窗口关闭?
我正在使用剑道日期选择器,我在弹出式日历的底部添加了一个文本区域,供用户在更改日期时添加注释。当日期选择器显示时,我会在注释区域显示,但当我单击文本区域输入注释时,日历将关闭。 我曾尝试在datepicker的close事件上使用e.preventDefault(),但它从未关闭 当我点击日期选择器之外的已知容器时,有没有办法防止剑道日期选择器日历弹出窗口关闭 代码: Html: 要在datepicker下定位的Javascript:Javascript 当我点击日期选择器之外的已知容器时,有没有办法防止剑道日期选择器日历弹出窗口关闭?,javascript,css,kendo-ui,telerik,kendo-datepicker,Javascript,Css,Kendo Ui,Telerik,Kendo Datepicker,我正在使用剑道日期选择器,我在弹出式日历的底部添加了一个文本区域,供用户在更改日期时添加注释。当日期选择器显示时,我会在注释区域显示,但当我单击文本区域输入注释时,日历将关闭。 我曾尝试在datepicker的close事件上使用e.preventDefault(),但它从未关闭 当我点击日期选择器之外的已知容器时,有没有办法防止剑道日期选择器日历弹出窗口关闭 代码: Html: 要在datepicker下定位的Javascript: var commentDiv = $('.date-comm
var commentDiv = $('.date-comment-wrapper'),
paddingPlusBorder = 22,
calendarTopElement = $('.k-animation-container'),
width = parseFloat(calendarTopElement.css('width')) - paddingPlusBorder,
height = parseFloat(calendarTopElement.css('height')),
textArea = commentDiv.children('#date-comment'),
top = parseFloat(calendarTopElement.css('top')),
left = parseFloat(calendarTopElement.css('left'));
commentDiv.css({
width: width,
left: left,
top: top + height
});
textArea.css({
width: width - paddingPlusBorder
});
commentDiv.show();
剑道Html
<div id='datePicker' style='visibility: hidden; position: absolute;'></div>
我猜问题是因为包含
文本区域
和按钮
的div.date-comment-wrapper
位于弹出窗口之外(其代码未显示),并且与日期选择器
完全无关
如果您将
div.date-comment-wrapper
附加到弹出窗口中,则当您单击提交按钮时,该窗口不应关闭。此问题中的剑道代码在哪里?感谢您查看此问题。我按照你的要求添加了剑道日期选择器代码。
var commentDiv = $('.date-comment-wrapper'),
paddingPlusBorder = 22,
calendarTopElement = $('.k-animation-container'),
width = parseFloat(calendarTopElement.css('width')) - paddingPlusBorder,
height = parseFloat(calendarTopElement.css('height')),
textArea = commentDiv.children('#date-comment'),
top = parseFloat(calendarTopElement.css('top')),
left = parseFloat(calendarTopElement.css('left'));
commentDiv.css({
width: width,
left: left,
top: top + height
});
textArea.css({
width: width - paddingPlusBorder
});
commentDiv.show();
<div id='datePicker' style='visibility: hidden; position: absolute;'></div>
$("#datePicker").kendoDatePicker({
close: function() {
// Close the comment div
$('.date-comment-wrapper').hide();
},
animation: false
});