我正在使用datepicker。绑定事件的常用方法,例如,beforeShowDay
,将是:
$('.selector').datepicker({
beforeShowDay: function(date) { ... }
});
我需要的是在呈现日历后绑定beforeShowDay
事件。所以,首先我要渲染日历:
$('.mySpecialContainer').datepicker({
//in this moment, for some reason, I am not allowed to bind nothing (that's not me who renders the calendar, that's why I am not allowed)
});
然后,如果我尝试以通常的方式绑定某些东西:
$('.mySpecialContainer').datepicker({
beforeShowDay: function(date) { ... }
});
日历将 - 当然 - 再次在'.mySpecialContainer'
内呈现,而不仅仅是绑定事件。我试过了:
$('.mySpecialContainer').bind('beforeShowDay', function(date) { ... });
但这只是一种绝望的行动:)
答案 0 :(得分:10)
对我来说,为什么你不能就该特定bind
事件(或者,就此而言,大多数datepicker
事件)致电datepicker
,这是没有意义的。大多数其他jQueryUI小部件允许事件的后期绑定。
但是,您可以尝试以下操作。 hasDatepicker
已应用于日期选择器,并且在这些元素上再次调用.datepicker
而不是重新初始化窗口小部件,它只是修改选项:
$('.hasDatepicker').datepicker("option", "beforeShowDay",
function(date) { ... });
答案 1 :(得分:1)
$('.ui-datepicker-current-day').click();
答案 2 :(得分:1)
使用
$('.hasDatepicker').datepicker("option", "beforeShowDay",
function(date) { ... });
我有下一个错误:
TypeError:$(...)。datepicker不是函数
$(".hasDatepicker").datepicker('option', 'beforeShowDay', function(event) {
好像你没有测试过这个。
答案 3 :(得分:-2)
您需要.live()
。
http://api.jquery.com/live/
$('.mySpecialContainer').live('beforeShowDay', function(date) { ... });
第二个想法,我想我误解了这个问题......你需要一个没有函数的日期选择器,然后再给它一个函数?你可能最好删除datepicker并重新开启。