vue清除单个页面的全局事件

发布于 2022-03-29  111 次阅读


最近写vue单页面监听键盘事件的时候,发现当一个页面在,mounted执行了功能之后,在全局可以使用.单当你退出了这个页面的时候,这个方法任然会被调用

 mounted() {
 this.keyDown();
},  

methods: {
   keyDown() {
     document.onkeydown = (e) => {
       if (e.keyCode == 38 || e.keyCode == 21) {
         console.log("上");
         document.documentElement.scrollTop =
           document.documentElement.scrollTop - 100;
      }
​
       if (e.keyCode == 40 || e.keyCode == 20) {
         document.documentElement.scrollTop =
           document.documentElement.scrollTop + 100;
         console.log("下");
      }
    };
  },
}, 

 

于是了解了一下清除事件的方法

 


      //在销毁页面的时候清除keydown
  destroyed() {  
  document.onkeydown = null;
 },

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。