好的,我试图将jQuery的FaceBox()插件和jQuery UI datepicker()一起使用.
我已经把它绑定到灯箱的第一次出现的灯箱的输入,但它后来没有工作.
我正在做以下事情:
$(function() { $('.jQueryCalendar').live('click',function () { $(this).datepicker({showOn: 'both'}).focus(); }); });
当灯箱关闭时,我将其内容重新附加到页面(为了不丢失内容div),这似乎是杀死了live()调用. [注意,原始内容销毁后再次追加]
编辑
好的,live()事件被触发(感谢Nick Craver为此),但是datepicker不再显示.有谁有一个想法为什么?
编辑#2
好的,使用.html()来重新附加会导致事件需要重新绑定,但是绑定的元素仍然具有hasDatepicker类,它与datepicker()初始化混淆.
要修复,只需用户
$(this).removeClass('hasDatepicker') .datepicker({showOn: 'both'}).focus();
解决方法
尝试一下,看看会发生什么:
$(function() { $('.jQueryCalendar').live('click',function () { $(this).datepicker('destroy').datepicker({showOn: 'both'}).focus(); }); });
如果您在jQuery 1.4中使用jQuery UI 1.7.2,某些效果会破坏小部件,它会褪色等可能会导致datepicker问题. jQuery UI 1.8修复了这个,现在在RC3状态.