2011-07-22 9 views
2

私はSWFUploadとたくさんのAjax $( '#maincontent')を使用するWebサイトをコーディングしています。メインビュー。Ajax.loadの前に実行するDOM要素にイベントをバインドする

残念ながら、#maincontentの要素にSWFUploadインスタンスがあり、#maincontentの内容を置き換えるために.load()を使用すると、SWFUploadからエラーの無限ループが発生していますそれはDOM要素(削除された)です。 (つまり: "SetFileQueueLimit 'プロパティの値を設定できません:オブジェクトがnullまたは未定義です"、 "SetHttpSuccess'プロパティの値を設定できません:オブジェクトはnullまたは未定義です"無期限)。

もちろん、これはjavascriptエンジンをブロックし、javascriptが起動しない応答しないページを残します。

私の質問は、どうすれば#maincontentのAjax load()をバインドして、削除する前に自分の要素にuploader.destroyを行うことができますか?

(またはIEの問題を解決するために、他の提案...)

ありがとう!

答えて

1

jqueryのドキュメントによれば、コンテンツが変更された後、メソッドのロードのコールバックが実行されます。 あなたが好むかもしれません。

$.get(URL, function(data) { 
    uploader.destroy(); 
    $('#mainContent').html(data); 
}); 
+0

ありがとうございます、その提案は私の将来に役立つかもしれません。しかし、私は多くの$( '#maincontent')をロードしています(URL、コールバック(){})、私のコードでは、構文に変更するには時間がかかるだろう...しかし、私の問題を解決しません。 今、私は多くを持っています: destroyUploader(); $( '#maincontent')。load( 'URL'、function(){}); –

+0

なぜあなたの問題を解決できないのでしょうか。それは無関係です。ところで、コードの不正使用は悪です。 – user753642

+0

あなたは正しいです、ありがとう。それが助けになりました。 –

関連する問題