我试过这样做:
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);
有没有人知道如何对事件处理程序使用匿名闭包,同时保留删除它们的能力?
https://stackoverflow.com/questions/179668
复制相似问题