Javascript事件侦听器删除

Javascript事件侦听器删除,javascript,angularjs,Javascript,Angularjs,当一个页面在单页应用程序中导航到另一个页面时,如何删除eventlistener 我在重新访问该页面时会遇到这个问题,而不是在调用eventlistener时 if (window.addEventListener) { window.addEventListener("message", listenMessage, false); // console.log("false"); } else { window.attachEvent("onmessage", listenMes

当一个页面在单页应用程序中导航到另一个页面时,如何删除
eventlistener

我在重新访问该页面时会遇到这个问题,而不是在调用
eventlistener

if (window.addEventListener) {
  window.addEventListener("message", listenMessage, false);
  // console.log("false");
} else {
  window.attachEvent("onmessage", listenMessage);
  //console.log("true");
}
var listenMessage = function(msg) {
/**/
}

使用removeEventListener删除事件侦听器

window.removeEventListener("message", listenMessage, false);
和detachEvent,以防执行attachEvent

window.removeEventListener("onmessage", listenMessage);
window.detachEvent("onmessage", listenerMessage); // For IE
有关更多信息,请阅读文档:

我认为你应该使用一个布局页面,你的第一页和其他页面应该基于这个布局页面。 之后,您可以描述一个全局变量 在导航之前,您应该更改此变量的值。 检查变量的值并使用该方法:

document.getElementById("Your_Element_Id").removeEventListener("Your_Listener", your Function);

“当一个页面导航到另一个页面时,删除
eventlistner
可能重复”您不需要做任何事情,如果您关闭当前文档,所有侦听器都将随该文档一起消失。或者这是一种单页应用程序?是的,它的单页使用angularjs我如何关闭该文档,因为我使用angularjs单页应用程序事实上im面向侦听器类在页面重新访问时添加了次数,所以我希望在该页面导航到另一个页面时删除侦听器im在父页面中使用iframe,有一个操作按钮,当im点击该子页面中的按钮时,使用window.parent.postMessage(状态“*”)发送消息;在父页面中使用addEventListener.to获取消息,但是,im导航到另一个页面,然后再次返回修订页面两次添加侦听器消息。那么,当单击“导航到另一个页面”时,如何删除侦听器