最近、PrototypeからjQueryに切り替えると、いくつかの基本的な問題に苦しんでいます。jQueryでグローバルなajaxイベントとしてローカルの両方を実行する方法は?
私はアプリケーションでいくつかのAJAX要求を使用します。これらの要求の95%について、ロードインジケータの表示や非表示など、いくつかのグローバルイベントを実行したいと考えています。グローバル機能とは別に、すべてのリクエストには完了後に実行されるカスタムコードが必要です。
一度設定すると、グローバルなものをオーバーライドするローカルのように思えます。例えば、以下のコードを参照してください。この特定のケースで
// global events
$('#loader').bind('ajaxStart', function() {
// in this particular example, the ajaxStart() works fine,
// as it has not been overridden
Loader.enable();
}).bind('ajaxComplete', function() {
// this section will not execute. when the local complete()
// is removed, it will execute just fine
Loader.disable();
});
// local ajax event
$.ajax({
type: $(element).attr('method'),
url: $(element).attr('action'),
data: $(element).serialize(),
global: 'true',
complete: function(data) {
if (params.target && $('#' + params.target)) {
$('#' + params.target).html(data.responseText);
}
Behaviour.apply();
});
を、ローカル完全な()イベントが実行からグローバルajaxComplete()イベントを停止するように思われます。
ローカルとグローバルの両方のAjaxイベントを実行する方法はありますか?
私はこれをまだ試していませんが、間違いなく動作します。これは、私のコードを実際には改善しないAJAXリクエストごとにこの構造体を使用する必要があります。 –