AddEventListener动态函数引用匿名函数

时间:2012-01-10 11:01:54

标签: javascript function dynamic reference addeventlistener

所以我有一个函数,我希望能够通过引用匿名函数来创建和删除函数。我想这样做是为了提供为多个对象创建相同功能的能力。目前,当我创建一个函数然后创建另一个函数时,我相信它会用最新的函数覆盖引用,并且不允许我删除旧的引用。

所以我想用一个像这样的变量动态创建引用。

image.addEventListener("click", 
    (Highlight + image.alt) = function (){ HighLightClick(this) }, false);

然后将其删除

TileClicked.removeEventListener("click", (Highlight + TileClicked.alt), false);

我是否必须为TileClicked创建一个变量,或者如何解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

可能是这样的:

var functionMap = {};

funtionMap[Highlight + image.alt] = function (){ HighLightClick(this) };
image.addEventListener("click", funtionMap[Highlight + image.alt], false);

TileClicked.removeEventListener("click", funcionMap[Highlight + TileClicked.alt], false);