阻止pagedown页面滚动事件

239 阅读1分钟

需求是按下键盘pagedown提交表单,但是页面不可滚动到底部

方法一 keyDown

 mounted() {
    this.keyDown();
 },
 methods: {
   keyDown() {
      document.onkeydown = (e) => {
        let e1 =
          e || event || window.event || arguments.callee.caller.arguments[0];
        if (e1 && e1.keyCode == 34) {
          this.disableWindowScroll(e);
          this.addsamplebutton(); // 之后调用的自定义方法
        }
      };
    },
    disableWindowScroll(e) {
      e = e || window.event;
      if (e && e.preventDefault) {
        e.preventDefault();
        e.stopPropagation();
      } else {
        e.returnvalue = false;
        return false;
      }
    },
   },
   destroyed() {
    document.onkeydown = null;
    }

方法二 addEventListener(这个方法不知道为什么,时灵时不灵的,反正推荐第一个)

mounted() {
 window.addEventListener("keyup", this.selecthandleKeyup);
 }
   methods: {
    selecthandleKeyup(event) {
      const e = event || window.event || arguments.callee.caller.arguments[0];
       if (e && e.keyCode == 34) {
         this.disableWindowScroll(e);
          this.addsamplebutton(); // 之后调用的自定义方法
        }
    },
     disableWindowScroll(e) {
      e = e || window.event;
      if (e && e.preventDefault) {
        e.preventDefault();
        e.stopPropagation();
      } else {
        e.returnvalue = false;
        return false;
      }
    },
   }
    destroyed() {
     window.removeEventListener("keyup", this.SelecthandleKeyup);
    }