1

ボタンが押されたときに実行される Howto という次の Javascript 関数があります。

function howto(){

   $('#elementtoupdate').ajaxSend(function() {
       //Code to execute
   });

   $('#elementtoupdate').ajaxComplete(function() {
       //Code to execute
   });

   $('#elementtoupdate').load('serverside/file_path.php')
}

JQuery を使用して、この関数は 2 つの JQuery グローバル Ajax イベント ハンドラーを割り当てます。これらは、AJAX 呼び出しが開始されたときに開始されます。その後、関数は続行して JQuery.load関数を呼び出し、グローバル Ajax イベント ハンドラー内のすべてのコードが開始されます。

ただし、グローバルという名前が示すように、これらは他の Jquery AJAX 呼び出しによっても開始されます。残念ながら、スクリプトに他の AJAX 呼び出しがあるため、これは望ましくありません。が実行されたときにのみコードを実行する必要があります$('#elementtoupdate').load('serverside/file_path.php')

これを行う最善の方法は何ですか?

4

2 に答える 2

0

David Hedlund の回答を受け入れる必要があります。完全を期すために:

あなたは変えられる :

function howto(){

   $('#elementtoupdate').ajaxSend(function() {
       //code to be executed before send
   });

   $('#elementtoupdate').ajaxComplete(function() {
       //code to be executed after completed
   });

   $('#elementtoupdate').load('serverside/file_path.php')
}

に :

function howto(){
    //code to be executed before send

    $('#elementtoupdate').load('serverside/file_path.php', function(){
        //code to be executed after completed
    })
}
于 2013-10-08T12:28:46.787 に答える