[英]jQuery - Using anonymous function passed in as function parameter as jQuery callback function
這可以通過一個代碼示例得到最好的解釋,因此任何人都可以解釋一下(用術語來說)傳遞給測試的匿名函數為什么在jQuery hide事件之后沒有被調用的原因嗎?
更新:對於本示例而言,這並不是真正重要的,但是為了清楚起見,可以說測試函數在全局范圍內,並且這是一個錨定元素。
test(this, function() {
alert('Called by anonymous function!');
});
function test(object, callback) {
$(object).hide('slow', callback);
}
變更:
$(object).hide('slow', callback);
至:
$(object).hide('slow', callback());
作品。 這是因為在當前上下文或全局窗口對象中回調不是命名函數嗎?
您的代碼應該看起來像這樣
test(this, function() {...});
您沒有在代碼中調用匿名函數,但是我不確定該語法實際上是做什么的
看看這個可行的例子http://jsfiddle.net/L4NxD/2
編輯,對小提琴進行更多編輯,以更好地復制原始代碼。 使用http://jsfiddle.net/L4NxD/1 ,只是http://jsfiddle.net/L4NxD/得到早期版本。
這是正確的方法。
在隱藏動畫之后調用remove將刪除該對象,並導致不調用動畫回調。
它在jsfiddle.net/6dFm6/1中起作用的原因是,回調在運行時執行,並且在回調事件期間傳遞並調用了該值。
有關“ functionName()”作為回調返回的內容的不同清晰度,請參見這些文章。 調用返回“ undefined”,但執行仍在正確的時間進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.