2010-02-05 50 views

回答

0

您可以可以創建通過附加參數的匿名函數:

oTarget.addEventListener(sEventType, function(e) { 
    myFunction(e, attr2, attr3); 
}, false); 
+1

只要您不需要在某個時候刪除偵聽器,匿名函數就可以工作。 – 2010-02-05 14:51:54

+0

然後,我會如何刪除使用匿名函數作爲回調函數的偵聽器? – 2010-02-05 14:57:47

+0

@Frank:除非你保存了對某個地方的匿名函數的引用,否則你將無法刪除它。 – 2010-02-05 15:50:33

0

使用類似於包裝功能:

oTarget.addEventListener(sEventType, function(evt) { 
    return fnHandler(evt, "foo", "bar"); 
}, false) 

現在你傳遞一個匿名函數(包裝函數)調用fnHandler與列出的屬性和返回值到該回調函數被調用。

+0

哪裏返回去了? – meouw 2010-02-05 14:32:01

+0

@meouw:這取決於調用者所做的調用回調函數的內容。 – Gumbo 2010-02-05 14:59:19

+0

但在這種特殊情況下會發生什麼情況,返回是無法訪問的嗎?我一直認爲事件處理程序是無效的 – meouw 2010-02-05 15:33:47

相關問題