我试过这样做:
root.addEventListener("click",
function ()
{
navigateToURL(ClickURLRequest,"_self");
});
它确实添加了事件侦听器。我喜欢使用闭包,因为它们在这种情况下工作得很好,
但是,删除事件侦听器需要对原始函数的引用,并且由于我使用了匿名闭包,因此它不起作用,我尝试了:
root.removeEventListener("click",
function ()
{
navigateToURL(ClickURLRequest,"_self");
});
也:
root.removeEventListener("click", function () {} );
我发现它起作用的唯一方法是放弃匿名闭包并将事件侦听器指向预先存在的函数:
function OnClick (e:Event)
{
navigateToURL(ClickURLRequest,"_self");
}
root.addEventListener("click", OnClick);
root.removeEventListener("click", OnClick);
有谁知道一种方法可以为事件处理程序使用匿名闭包,同时仍然保留删除它们的能力?