Jquery &引用;开放式;回调执行得太快
我正在使用放大弹出窗口弹出一个表单。表单具有日期选择器字段。但是,在“我的主页”中的日期字段上调用datepicker的代码不适用于外部弹出窗体中的日期字段,因为它不在页面加载时的DOM中:Jquery &引用;开放式;回调执行得太快,jquery,datepicker,delay,magnific-popup,Jquery,Datepicker,Delay,Magnific Popup,我正在使用放大弹出窗口弹出一个表单。表单具有日期选择器字段。但是,在“我的主页”中的日期字段上调用datepicker的代码不适用于外部弹出窗体中的日期字段,因为它不在页面加载时的DOM中: $(function(){ $(".datepicker").datepicker(); } 为了避免这种情况,我添加了在放大弹出窗口的“打开”回调中的日期字段上调用datepicker的代码: $('#myForm').magnificPopup({ type: 'ajax', p
$(function(){
$(".datepicker").datepicker();
}
为了避免这种情况,我添加了在放大弹出窗口的“打开”回调中的日期字段上调用datepicker的代码:
$('#myForm').magnificPopup({
type: 'ajax',
preloader: false,
// add callback so we can apply datepicker to date fields
callbacks:{
open: function(){
$(".datepicker").datepicker();
}
}
});
但是,在弹出窗口完全打开之前,“打开”回调似乎运行得太快。日期选择器功能未应用于字段。但是,当我使用调试器遍历代码时,它会将其速度减慢到足以让datepicker代码实际应用的程度。类似地,如果我向回调函数添加警报,datepicker代码将正常运行
我可以通过使用setTimeOut添加一个小延迟来解决这个问题:
open: function(){
window.setTimeout(function() {
$(".datepicker").datepicker();
}, 800);
}
但这感觉有点不舒服。有什么简单的方法可以做到这一点吗?(我在中没有看到“afterOpen”回调)添加了
ajaxContentAdded
,请添加jsbin。您是否尝试将data.status为“ready”的“updateStatus”事件的回调放入?