美文网首页
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