0
所以我有一個函數,我希望能夠通過引用匿名函數來創建和刪除函數。我想這樣做是爲了爲多個對象創建相同的功能。目前,當我創建一個函數,然後創建另一個函數時,我相信它會覆蓋最新的引用,並且不允許我刪除舊的引用。AddEventListener對匿名函數的動態函數引用
所以我想用這樣的東西動態地創建一個變量的引用。
image.addEventListener("click",
(Highlight + image.alt) = function(){ HighLightClick(this) }, false);
,然後將其刪除這樣
TileClicked.removeEventListener("click", (Highlight + TileClicked.alt), false);
我一定要創造TileClicked變量或怎麼會一個去呢?
似乎不工作,我知道你需要像這樣的工作 image.addEventListener( 「點擊」,FunctionMap = funtionMap [高+ image.alt],假); 擁有那個等號允許我調用引用來允許我刪除它。它只知道如何動態創建和設置是問題。 – Lordphartmore 2012-01-10 11:58:57
上面的代碼中的第二行將函數(動態創建並保存)設置爲'functionMap'對象的屬性,您可以使用它來'命名'它(即,您不需要其他名稱等號)。 – sje397 2012-01-10 12:20:09
是的,但是addEventListener是非常奇怪的事實,它採用不同的函數實例image.addEventListener(「click」,funtionMap,false);將工作,但是當你使用類似於:image.addEventListener(「click」,funtionMap(this),false);它將無法正常工作,因此我使用匿名函數。想想你正在做同樣的事情。 – Lordphartmore 2012-01-10 14:34:08