2010-08-03 102 views
0

解决了一些问题后,我得到了一个棘手的问题。我正在为jQuery使用名为prettyPhoto的叠加插件。jquery datepicker不能在灯箱内工作

只是想与表格叠加。表单用CSS隐藏,点击链接时,覆盖图以不错的方式显示。

到目前为止好,一切按预期工作,但只有一两件事:这个形式所具有的日期字段,其中我使用日期选择器UI。

它(日期选择器)完全没有出现。起初,我尝试了谷歌搜索和一些CSS调整......没有任何工作。 z-index对CSS,z-index动态...

然后我用萤火虫来保持眼睛。日期选择器通常在侦听器元素被动态单击时设置其属性。在叠加层中的这个表单上,当我单击侦听器字段时,datepicker div根本不会改变。

有关如何使这项工作的任何想法?

参考文献: 网站是:http://davedev.com.br/projects/jdc/v1/pt/reserva.php 是的,这是葡萄牙语。只需点击屏幕右下角的卡通对话框即可查看叠加层。

我正在使用谷歌APIS CDN为jquery和jquery-UI。

我正在开发和测试Ubuntu,Firefox 3.6.7(Chrome 5和Opera 10.60)。

是的,我使用了一些HTML5元素和一些CSS3效果(卡通对话气球与CSS3完全制造。没有图像。=])。

+0

解决 - 使用该解决方案指出在这里:http://stackoverflow.com/questions/2386718/jquery-live-failing-with-jquery-ui-datepicker – Dave 2010-08-03 14:11:50

回答

1

你覆盖插件“prettyPhoto”创建一个新的DOM每次被触发,所以“专注”事件日期选择为界,不能在您的收藏夹DOM元素上存在。

这是一个人谁了同样的问题:

jQuery live() failing with jQuery UI datepicker

你可能需要的东西是这样的:

$('#overlayData').live('click', function(){ 
    $(this).datepicker({dateFormat: 'dd/mm/yy'}); 
}); 
+0

嘿,伙计们,我通过了你在这里指出的问题上提出的解决方案。像魅力一样工作。 Thx兄弟。 – Dave 2010-08-03 14:11:16

1

查看你的代码后,这是我发现的。

看起来你已经在弹出窗体上正确绑定了datepicker。问题是,当你初始化美观照片时,绑定的日期选择器不再被绑定。如果你可以看看萤火虫并仔细观察<div id="pp_full_res"></div>,那就是你的表格。现在发生的事情是,当您打开/关闭弹出窗口时,窗体将被删除或添加到DOM。那就是问题所在。

我能想到的一个解决方案就是让您使用另一个覆盖插件。

+0

是的,我想过改变插件,但因为我打算将这个插件用于媒体画廊,所以我宁愿找到解决方案而不是堆叠越来越多的插件。 – Dave 2010-08-03 14:10:20

6

使用提出相应的解决办法我设法让日期选择器在lightbox中出现/消失(prettyphoto),但在选择日期时仍然出现javascript错误(f为null)。

几个小时后,这里是我完整的解决方案:

$("#datepicker").live('focus', function(){ 
       $(this).attr("id","datepickerNEWID");     
       $(this).datepicker(); 
}); 

由于收藏夹创建一个与DIV内容的拷贝一个新的DOM,我们则有2个输入具有相同的ID,导致日期选择器不工作,所以我做的是更改日期选择器ID。

希望它有帮助!

+0

很奇怪的问题,你救了我的一天! – ownking 2011-10-27 08:30:07

+0

确实很奇怪。也许是一个错误?节省我的一天。谢谢! – 2012-03-02 22:47:08

0

与灯箱doest不工作​​。 这是因为灯箱始终强调自己。

var enforceModalFocusFn = $.fn.modal.Constructor.prototype.enforceFocus; 

$.fn.modal.Constructor.prototype.enforceFocus = function() {}; 

$confModal.on('hidden', function() { 
    $.fn.modal.Constructor.prototype.enforceFocus = enforceModalFocusFn; 
});