我在克隆元素时遇到问题,jQuery UI DatePicker 在克隆元素后不起作用。示例链接:http: //jsfiddle.net/V25qA/1/。
问问题
1288 次
3 回答
2
你不能(安全地)克隆 jQuery 小部件——它们的状态可能不会被复制。
您应该.datepicker('destroy')
在克隆它之前调用旧元素,然后.datepicker()
再次调用克隆的输入元素以重新初始化它。
于 2012-10-01T07:24:44.597 回答
1
更改以下行
$('.dpicker').eq(0).clone().prependTo('#new');
至
$('.dpicker').eq(0).clone().removeClass("hasDatepicker").prependTo('#new');
然后它将起作用。
当该元素通过 启用日期选择器时,Datepicker 将“hasdatepicker”类分配给该元素.datepicker();
。如果你克隆这个元素,你也克隆了它的属性。这就是为什么 datepicker 插件在调用.datepicker();
. 如果您删除此类 datepicker 将在新元素上按预期工作。
于 2012-10-01T07:20:32.307 回答
1
在歌剧中对我来说似乎也很好。
在这种情况下,如果您希望此单击事件适用于新创建的元素,请尝试委托该事件。
$('form').live('click', '.dpicker', function(){
alert('clicked')
$(this).datepicker().focus();
});
另外我建议您使用.on()而不是 .live() 因为 .live 从 jquery 1.7 版开始已被弃用
于 2012-10-01T07:17:12.110 回答