我有一个包含许多输入元素的表单。有些是已附加 jQuery UI 日期选择器的日期字段:
$("#someElement").mask("9?9/99/9999").datepicker({showOn: 'button', buttonText:'Click here to show calendar', duration: 'fast', buttonImageOnly: true, buttonImage: /images/calicon.gif' });
然后我有一个绑定到该函数的关键命令:
function openCalendar() {
var selection = document.activeElement;
// { Need to test here if datepicker has already been initialized
$(selection).datepicker("show");
// }
}
这对于已经有日期选择器的元素非常有用。但是任何其他字段都会引发 JavaScript 错误。我想知道测试日期选择器是否已在该字段上初始化的最佳方法。
哇不敢相信我错过了这个。 ui.datepicker.js 第 108 行:
/* Class name added to elements to indicate already configured with a date picker. */
markerClassName: 'hasDatepicker',
所以我只需要测试hasClass('hasDatepicker')
。这似乎是最直接的方法。此外,此语句检查日期选择器当前是否打开(对于任何感兴趣的人):
if ($("#ui-datepicker-div").is(":visible") && $("#ui-datepicker-div").html() != "") {
// datepicker is open. you need the second condition because it starts off as visible but empty
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)