2012-12-17 38 views
0

使用jquery我需要觸發ajaxComplete事件。如何手工觸發ajaxComplete事件

在我使用這個代碼沒有成功

$.getJSON(assetUrl, function (data) { 
... 
    $.trigger("ajaxComplete"); 

發生錯誤的時刻:

TypeError: 'undefined' is not a function (evaluating '$.trigger("ajaxComplete")') 

任何想法,我做錯了嗎?謝謝

+1

爲什麼你需要手動觸發? – Bergi

+0

我想知道是否有可能通過腳本中的命令停止AJAX調用,所以我正在考慮觸發一個事件...可能以這種方式?或者是否可以使用某種中止方法? – GibboK

+3

@GibboK'xhr.abort();'更有意義。編輯迴應您編輯的評論,請參閱http://stackoverflow.com/questions/446594/abort-ajax-requests-using-jquery。 –

回答

3

ajaxCompleted event在DOM上被觸發,你需要在一個jQuery包裝器元素上調用trigger method:例如$(document).trigger(...)

jQuery對象上沒有靜態函數「trigger」(這就是錯誤信息告訴你的),你可以使用$.event.trigger--儘管我擔心這是內部的。

但是,您不需要手動執行; getJSON確實觸發事件本身。要中止正在運行的ajax請求,請參閱XHR objectsabort方法。