jquery - "Open"回调执行速度太快

标签 jquery datepicker delay magnific-popup

我正在使用 MagnificPopup 弹出一个表单。该表单具有日期选择器字段。但是,在我的主页中的日期字段上调用日期选择器的代码不适用于外部弹出表单中的日期字段,因为它不在页面加载时的 DOM 中:

$(function(){
   $(".datepicker").datepicker();
}

为了避免这个问题,我添加了代码来在 MagnificPopup 的“open”回调中的日期字段上调用 ​​datepicker:

$('#myForm').magnificPopup({
    type: 'ajax',
    preloader: false,
    // add callback so we can apply datepicker to date fields
    callbacks:{
        open: function(){
            $(".datepicker").datepicker();  
        }   
    }
});

但是,在弹出窗口完全打开之前,“打开”回调似乎运行得太快。日期选择器功能不适用于字段。但是,当我使用调试器遍历代码时,它会减慢速度,足以使日期选择器代码实际应用。同样,如果我向回调函数添加警报,则日期选择器代码将正常运行。

我可以通过使用 setTimeOut 添加一个小的延迟来解决这个问题:

open: function(){
    window.setTimeout(function() {
       $(".datepicker").datepicker();
    }, 800);
}

但这感觉很奇怪。有什么简单的方法可以实现这一点吗? (我在 MagnificPopup docs 中没有看到“afterOpen”回调)

最佳答案

关于jquery - "Open"回调执行速度太快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30285090/

相关文章:

javascript - 如何更改 Flowbite datepicker 中的区域设置?

android - DatePicker 默认值

powershell - 延迟忽略CTRL + C-Powershell

networking - 如何获得ffmpeg的延迟?

javascript - 在 ajax 响应上使用 jQuery 会触发额外的网络请求

javascript - 在 Ruby on Rails 中使用 form_for 触发 jQuery

jquery - yearRange - 日期选择器

javascript - 动画每个文本行

jquery回调

php - 使用 wp_dropdown_pages() 显示自定义帖子类型的下拉列表