我在Pikaday
中遇到过这个问题我有一个简单的选择字段,它运行一些ajax并将一组限制日期传递给pikaday datepicker。但是,重新构建pikaday的datepicker会引发重新实例循环错误,当您在DOM中对同一元素重新构建一个pikaday时会发生这种错误。
我在谷歌上搜索并找到了一些帮助 https://github.com/dbushell/Pikaday/issues/382
// Destroy it at some point in the future -
// NOT really working or helping the loop issue
$('.somefield').pikaday('destroy');
这是所有
中最有用的一个https://github.com/dbushell/Pikaday/issues/429
http://codepen.io/thephpjo/pen/pjqavp?editors=1111
上面的codepen在使用
显示单个元素问题的双实例方面做得很好onSelect: function() {
console.log('pong')
}
尽管如此,解决方案并没有帮助我解决问题。我真的只是希望我在这里做错了,因为我需要弄清楚这个“错误”。
那就是说,我已经在codepen上运行了这个简单的版本示例。
请注意,每次传递一组新日期时,select字段必须重新构建pikaday。因此,查看操作中的错误的方法是选择下拉选项,通过pikaday-datepicker选择日期,然后再次更改下拉选项并再次使用datepicker。密切注意控制台。
你会看到它运行“Hello Again!”的次数。这会导致datepicker挂起,有时会永久挂起并抛出太多的递归/ Stack Overflow错误。
简化pikaday以显示错误:http://codepen.io/anon/pen/NpWRZL?editors=1111
答案 0 :(得分:0)
所以事实证明避免这个愚蠢的错误的方法是完全.remove()你正在应用pikaday datepicker的元素,然后通过.append()重建元素,瞧,它正确重置并且是新的可以应用datepicker。