這最好通過代碼示例來解釋,因此任何人都可以解釋爲什麼(以技術術語)傳遞給測試的匿名函數在jQuery之後沒有被調用隱藏事件?jQuery - 使用匿名函數作爲函數參數傳遞爲jQuery回調函數
UPDATE:對於這個例子來說這不是真正重要的,但是爲了清楚起見,讓我們說測試函數在全局範圍內,這是一個錨元素。
test(this, function() {
alert('Called by anonymous function!');
});
function test(object, callback) {
$(object).hide('slow', callback);
}
更改:
$(object).hide('slow', callback);
要:
$(object).hide('slow', callback());
作品。這是因爲回調不是當前上下文或全局窗口對象中的命名函數嗎?
您需要提供更多的代碼,尤其是什麼 '這' 是。除此之外,手動執行處理程序是錯誤的。 – Bergi 2012-04-26 06:44:38
你在'test()'調用中缺少一個'''' – Joseph 2012-04-26 06:47:37
這是什麼並不重要。但是爲了參數的緣故,測試函數在全局範圍內,這是指一個錨元素。爲什麼使用callback()執行hander錯誤?如果僅僅將對匿名函數的引用作爲jQuery .hide()的回調函數傳遞,它就不會被執行。 – Matt 2012-04-27 02:54:30