1

Pikadayでこの問題に遭遇しました

いくつかの ajax を実行し、一連の除外日を pikaday 日付ピッカーに渡す単純な選択フィールドがあります。ただし、pikaday の datepicker を再構築すると、DOM 内の同じ要素で pikaday を 2 回再構築すると発生する再インスタンス化ループ エラーがスローされます。

私はぐるぐる回って、問題に関するいくつかの助けを見つけました 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

上記のコードペンは、単一要素の問題で二重インスタンスを示す素晴らしい仕事をします

onSelect: function() {
     console.log('pong')
}

とはいえ、解決策は私の問題を解決していません。この「バグ」を理解する必要があるため、ここで完全に間違ったことをしていることを本当に望んでいます。

そうは言っても、codepen で実行されているこの単純なバージョンの例があります。

新しい日付セットが渡されるたびに、select フィールドは pikaday を再構築する必要があることに注意してください。したがって、実際のバグを確認する方法は、ドロップダウンの選択肢を選択し、pikaday-datepicker で日付を選択してから、ドロップダウンの選択肢をもう一度変更して、datepicker を再度使用することです。コンソールに細心の注意を払ってください。

「Hello Again!」が何回実行されるかがわかります。これにより、datepicker がハングし、場合によっては永久にハングし、Too many recursions / Stack Overflow エラーがスローされます。

バグを表示する簡略化された pikaday: http://codepen.io/anon/pen/NpWRZL?editors=1111

4

1 に答える 1