シナリオは次のとおりです-コードなし(その方が簡単です):
- コンテンツ (スクリプトを含む) を含む div を読み込みます。
- スクリプトの 1 つは、JqueryUI モーダル ダイアログの初期化です。これは、スクリプトの後半でクリック イベントで「開かれます」...つまり、初期化と同時に開かれるわけではありません。
- クリック イベントは、フォームを持つこのモーダルを開きます。
- フォームを送信すると、ajax 呼び出しが行われます - データをデータベースに保存し、「.load」関数がその div 全体をリロードします - そのスクリプトのセットをもう一度読み込みます (モーダルの初期化を含む)
それから...
[編集]
初めてクリックしてモーダルとフォームを開くと、すべて問題ありません。その後の任意の時間 - フォームと ajax 呼び出しが複数回実行されます。
[/編集]
モーダルを再度初期化すると、クリック イベントが発生したときに 2 つのインスタンスが呼び出されることは明らかです。
スー..
初期化が再び行われないようにする方法はありますか (覚えておいてください - このコードを保持する div がリロードされています - はい、その div の外に配置しようとしました.. no go )。
$.one 関数の使用に関して私が試したことは次のとおりです。
$("body").one("load", function(e){
$("#scheduleMessagePopupDiv").dialog({
autoOpen: false,
height: 450,
width: 340,
modal: true,
resizeable: false,
dragable: false
});
alert("hello");
});
機能しませんでした..アラートは発生しません...そして、どうやらダイアログは決して初期化されません。