【问题标题】:window.addEventListener for scroll event not responding [closed]滚动事件的window.addEventListener没有响应[关闭]
【发布时间】:2020-12-03 15:23:39
【问题描述】:

我正在添加 2 个事件侦听器。一个用于调整大小,一个用于滚动。调整大小的作品但滚动的作品没有,我似乎无法找出原因。

mounted() {
    window.addEventListener('resize', this.onWindowResize);
    window.addEventListener('scroll', this.onWindowScroll);
}

onWindowResize() {
    this.internalVisible = false;
    this.$emit('resize');
}

onWindowScroll() {
    console.log('HIT');
}

beforeDestroy() {
    window.removeEventListener('resize', this.onWindowResize);
    window.removeEventListener('scroll', this.onWindowScroll);
}

有人可以指导我正在/可能发生什么吗?

【问题讨论】:

  • 也许你的滚动是在一个内部容器而不是窗口对象中?
  • @iota,这个应用程序太大了,创建一个可重复的例子已经是一个失败的案例......只是想其他人的一些意见,他们用其他眼光看待这个问题,可能是什么问题...
  • @YoniZiv 答案确实是我需要将scroll 事件添加到更具体的HTMLElement 然后窗口。谢谢!

标签: javascript vue.js scroll addeventlistener event-listener


【解决方案1】:

使用 scoll 访问任何网站并将以下内容粘贴到浏览器的控制台中

window.addEventListener('scroll', e=> console.log(e));

它会记录你的事件,所以要确保它工作正常。

请检查您的网站是否有滚动功能 - 具体来说页面是否可滚动.. 否则它不会调用

【讨论】:

    【解决方案2】:

    我对 vue.js 不熟悉; 但如果只看纯 javascript: 你会在 chrome 检查器的控制台中添加它,你的窗口可以滚动它会调用;

    所以你的事件监听器似乎不是问题;

     window.addEventListener('resize', this.onWindowResize);
     window.addEventListener('scroll', this.onWindowScroll);
    
    
    function onWindowResize() {
       console.log('res');
    }
    
    function onWindowScroll(e) {
      console.log('scroll');
    }
    

    【讨论】:

      猜你喜欢
      • 2013-08-18
      • 1970-01-01
      • 2014-07-21
      • 1970-01-01
      • 2017-04-06
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 2021-05-23
      相关资源
      最近更新 更多