[英]How to assign a JQuery event handlers to a specific event
我有以下按下按鈕時執行的名為Howto的Javascript函數:
function howto(){
$('#elementtoupdate').ajaxSend(function() {
//Code to execute
});
$('#elementtoupdate').ajaxComplete(function() {
//Code to execute
});
$('#elementtoupdate').load('serverside/file_path.php')
}
使用JQuery,該函數分配兩個JQuery全局Ajax事件處理程序,它們在啟動任何AJAX調用時啟動。 然后函數繼續並調用JQuery .load
函數,並啟動全局Ajax事件處理程序中的任何代碼。
但是,正如Global所說的那樣,它們也是由其他Jquery AJAX調用啟動的。 不幸的是,這是不可取的,因為我在腳本中有其他AJAX調用。 我需要只在執行$('#elementtoupdate').load('serverside/file_path.php')
執行代碼。
這樣做的最佳方式是什么?
load
有自己的回調,它不是全局的:
.load( url [, data ] [, complete(responseText, textStatus, XMLHttpRequest) ] )
從而:
$('#elementtoupdate').load('serverside/file_path.php', function() {
// complete
});
你應該接受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
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.