0
我有以下的jquery ajax調用:jQuery的自定義事件不工作沒有setTimeout的
$.ajax({
type: "POST",
url: url,
data: data,
success: function (data, textStatus, jqXHR) {
// Without setTimeout, the triggerHandler doesn't work
setTimeout(function (e) {
$(this).triggerHandler($.Event("CustomEvent"));
});
}
});
而在另一個位置:
$(this).on('CustomEvent', function (evt) {
alert("CustomEvent");
});
上面的代碼會顯示警告。但是,如果我沒有附上triggerHandler調用setTimeout .on永遠不會被調用,並且不會顯示警報。任何想法(s)爲什麼setTimeout似乎是必要的這樣工作?
發佈完整的js代碼將會有幫助...或者一個最小的工作示例 –
我認爲這是由於'this'的範圍並不是您期望它在$的'success'處理程序內.ajax' –
嘗試把你的ajax的'complete'函數放入。 –