AddEventListener对匿名函数的动态函数引用

AddEventListener dynamic function reference to anonymous function

本文关键字:函数 引用 动态 AddEventListener      更新时间:2023-09-26

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

所以我想动态地创建一个带有类似这样的变量的引用。

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

然后像这个一样删除它

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

我必须为TileClicked创建一个变量吗?或者如何处理?

也许类似于:

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);