美文网首页
2019-10-25 vue 解决window.addEvent

2019-10-25 vue 解决window.addEvent

作者: 本泽锅 | 来源:发表于2019-10-25 11:03 被阅读0次

    一般给当前模版设置监听都是这样写
    在 mounted函数中

    window.addEventListener("scroll", this.handleScroll);
    

    然后调用方法

    handleScroll() {
                    var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
                    console.log(scrollTop + "scrollTop")
    
                },
    

    这样就可以实时监听到滚动数据

    之前一直是可以监听到的,后来突然发现不好使了,根本原因就是给body设置了overflow:scroll属性,导致了

    window.addEventListener("scroll", this.handleScroll);
    

    失效。

    此时的解决办法是

    <template>
        <div class="container" id='move' :class="{active:flag}" ref="ct">
            
        </div>
    </template>
    

    需要监听的组件this.$refs的形式拿到元素的dom节点,代码如下,在mounted函数中

                this.box = this.$refs.ct
                this.box.addEventListener('scroll', () => {
                    this.handleScroll();
                }, false)
    

    然后调用方法:

    handleScroll() {
                    var scrollTop = this.$refs.ct.scrollTop;
                    // console.log(scrollTop);
                },
    

    此时便可以完美解决 window.addEventListene ( )失效问题

    相关文章

      网友评论

          本文标题:2019-10-25 vue 解决window.addEvent

          本文链接:https://www.haomeiwen.com/subject/ywcsvctx.html