2016-04-26 12 views
0

クラスを持つボタンがクリックされたにもかかわらず、ajaxstart()をトリガーしようとしていますが、それはうまくいきません。ボタン上でajaxStart()onclickをトリガーする

ありがとうございました。

コード:あなたの例では何が起こっているのかについての

$('.search-btn').ajaxStart(function() { 
     $('#spinner').show(); 
    }).ajaxComplete(function() { 
     $('#spinner').hide(); 
    }); 
+0

'ajaxstart()'「ボタンがクリックされたときにトリガ」するべきではない - それは負荷に定義されている必要があり、その後、あなたは、AJAXのタスクを実行したときに自動的にトリガされます。また、ボタンをクリックしたときに*同じ*機能(スピナーの表示/非表示)が必要な場合は、その機能を関数に入れ、両方から呼び出します。 –

答えて

0

少し混乱。しかし、私が書いたのは、と思っています。

$('.search-btn').on('click', function() { 
    $(this).ajaxStart(function(){ 
     $('#spinner').show(); 
    }).ajaxComplete(function() { 
     $('#spinner').hide(); 
    }); 
}); 
+0

"トリガー" ajaxの開始、セットアップではないajaxstart - クリックするとスピナーが表示されません。これが本当にOPが望んでいるものなら*、彼らは叩きが必要です。 :) –

+0

合意、彼らが何であるか完全にはっきりしていない、私の答えはおそらくほんのわずかに有用ではありません。 :P – Flux

1

$.ajaxStart()$.ajaxComplete()$(document)に添付する必要があります。 jQueryの1.9のよう$.ajaxStart()

を参照して、.ajaxStart()方法を添加したものを含むjQuery global Ajax eventsためのすべてのハンドラは、documentに取り付けなければなりません。

$(document).ajaxStart(function() { 
     $("#spinner").show(); 
    }).ajaxComplete(function() { 
     $("#spinner").hide(); 
    }); 
関連する問題