2010-11-23 24 views
1

カスタムメールシステム(メッセージの左ペインリスト - 選択したメッセージまたは現在のメッセージを右ペイン)を構築するjqueryを構築しています....Jquery Ajaxの呼び出しは、最初の呼び出し成功後に失敗しますか?

Ajax呼び出しが行われた後左ペインは.loadを使用してリロードされ、そこからのコールはそこから失敗します(リロードされたコンテンツがページ上のajaxをもう見ないので何も起こりません)。

以下メールを削除するjqueryの例です。また、deleteMailスクリプトは更新されたリストをエコーし​​ます..

$( '#leftmail').html(読み込み中).load( '/ pages/mail/async/deleteMail.php'、{'id':id}) ;

これはどうして起こるのでしょうか?具体的には荷物ですか?

助けてください!ありがとう!

f

答えて

1

要素へのイベントのバインディングは一度だけ発生します。ペインをAJAX経由でロードすると、それらのイベントは失われ、新しくフェッチされた要素で再作成されません。

jQuery live()関数がこれ用に設計されています。 $('element').click(function() {})の代わりに$('element').live('click', function() {})を実行すると、最初のdomreadyイベントの後に読み込まれたコンテンツに対してクリックイベントが機能します。

+0

うん...興味深いですが、これを追加しても変更はありません。 。 – Fearghal

+0

$( '#のmailselect')( '変更'、機能(){ \t \t \t \t VARメールボックス= $( "#のmailselect")を生きるのval();。 \t \t(メールボックス= "" もし! ) \t \t { \t \t \t //警告()+メールボックス "に移動します"; \t \t \t \t \t \t \t VARのvalarray = $( '入力:チェックボックス'。)serializeArray(); \t \t \t $( '#leftmail')html(読み込み中).load( '<?php echo $ cfg-> wwwroot?>/pages/mail/async/moveMail.php'、{'id':メールボックス、チェックボックス ":valArray、" view ": '<?php echo $ view?>'})); \t \t \t \t \t \t \t \t} \t \t \t \t \t \t \t \t}) – Fearghal

+0

待ち、実際に用事...私は馬鹿だ...私は完全にライブを追加しました間違った出来事... D'oh! – Fearghal

関連する問題