【发布时间】:2026-01-28 21:15:01
【问题描述】:
好的,我正在尝试使用 jQuery 的 FaceBox() 插件以及 jQuery UI datepicker()。
我已经让它在灯箱第一次出现时绑定到灯箱的输入,但之后它就不起作用了。
我正在执行以下操作:
$(function() {
$('.jQueryCalendar').live('click', function () {
$(this).datepicker({showOn: 'both'}).focus();
});
});
当灯箱关闭时,我将其内容重新附加到页面(为了不丢失内容 div),这似乎正在杀死 live() 调用。 [注意重新附加发生在原始内容被破坏之后]
编辑
好的,live() 事件正在触发(感谢 Nick Craver),但是不再显示日期选择器。有谁知道为什么?
编辑#2
好的,使用 .html() 重新附加会导致事件需要重新绑定,但要绑定的元素仍然具有类 hasDatepicker,这会与 datepicker() 初始化混淆。
要修复,只需用户
$(this).removeClass('hasDatepicker') .datepicker({showOn: 'both'}).focus();
【问题讨论】:
-
在里面贴一个警报,我认为你会发现它在搞乱日期选择器,而直播实际上正在触发。
-
今天 - 2 年后遇到了完全相同的问题 - 这对我有用。感谢您回来并花时间添加对您有用的内容。
-
您应该发布您的解决方案作为答案并接受它!