我试图使用工具提示制作jquery ui datepicker(内联为日历)。一切正常,工具提示正在显示,直到我更改日历中的月份。然后工具提示停止工作。我不知道如何解决这个问题,我将不胜感激任何帮助。 下面是我的代码(我使用的是this脚本)。
谢谢!
$(function() {
var specialDays = {
'2011': {
'3': {
'10': {tooltip: "Some event", className: "holiday"}
},
'4': {
'15': {tooltip: "Some another event", className: "holiday"}
}
}
};
$('#datepicker').datepicker({beforeShowDay: function(date) {
var d = date.getDate(),
m = date.getMonth()+1,
y = date.getFullYear();
if (specialDays[y] && specialDays[y][m] && specialDays[y][m][d]) {
var s = specialDays[y][m][d];
return [true, s.className, s.tooltip]; // selectable
}
return [false,'']; // non-selectable
}});
/* tooltip*/
$(".ui-datepicker-calendar tbody").tooltip();
});
答案 0 :(得分:2)
使用它,它对我有用:
onChangeMonthYear: function(year, month, inst) {
setTimeout("$('.ui-datepicker-calendar tbody').tooltip()", '250');
}
答案 1 :(得分:0)
将$('#datepicker').datepicker
的功能包含在函数内部。然后,在工具提示加载时将该函数名称作为回调传递给工具提示函数。
您的事件未绑定的原因是因为HTML正在发生变化。
进一步说明:在工具提示脚本的第115行,有一个可用于回调的事件:
var initDatepicker = function(){
$('#datepicker').datepicker({beforeShowDay: function(date) {
// Your code...
}});
};
$('.ui-datepicker-calendar tbody').tooltip({
// On tooltip open, init the datepicker
open: initDatepicker
});