jQuery UI的日期选择器不工作后,克隆元素[关闭](Jquery UI Datepicker

2019-10-17 06:35发布

我有克隆元素的问题,jQuery UI的DatePicker的克隆元素之后简化版,工作。 链接例如: http://jsfiddle.net/V25qA/1/ 。

Answer 1:

你不能(安全)克隆jQuery的部件 - 他们有可能不会被复制的状态。

你应该叫.datepicker('destroy')旧元素在克隆前,然后调用.datepicker()再次克隆输入元素上重新初始化它。



Answer 2:

这似乎在Opera工作正常对我来说太。

在这种情况下尝试,如果你想要这个点击事件,为新创建的元素工作委派事件..

$('form').live('click', '.dpicker', function(){
     alert('clicked')
     $(this).datepicker().focus();  
});

另外,我建议你使用。对(),而不是.live()作为.live已废弃的jQuery 1.7版

DEMO



Answer 3:

更改以下行

$('.dpicker').eq(0).clone().prependTo('#new');

$('.dpicker').eq(0).clone().removeClass("hasDatepicker").prependTo('#new');

然后,它会奏效。

日期选择器受让人“hasdatepicker”类的元件在此元素是通过日期选择器启用.datepicker(); 。 如果克隆这个元素,你也克隆它的属性。 这就是为什么日期选择器插件,什么也不做,当你调用.datepicker(); 。 如果您删除该类日期选择器将工作在新的元素如预期。



文章来源: Jquery UI Datepicker don't work after clone element [closed]