vue如何实现监听元素滚动事件

如果是jq,直接addeventlisten监听滚动事件即可,但是vue中我用@scroll来监听我的滚动并没有效果,应该如何才能获取我想要的元素的滚动,并且附带返回x,y值

是我钻牛角尖了,其实用@mouse事件去写一套流程就很简单了,但是用@scroll还是写不出来,希望以后有更好的解决方法吧

阅读 51.2k
6 个回答

@scroll.native

<ul class="test_paper" id="testPaper" @scroll="paperScroll()">

你要滚动的元素要高度才可以,还有出现滚动条才会触发你的滚动事件,
`
.left{

height: 300px;
overflow: hidden;

}

imgScroll(e){
            console.log(e);
        }

还有就是你调用事件的时候不要写 () 应该换成这个事件 @mousewheel="imgScroll"
`
比如这样写

在 mounted 里面同样用 window.addEventListener 绑定:

mounted(){
    window.addEventListener('scroll',this.handleScroll)
},
methods:{
    handleScroll(e){
        console.log(e)
    }
}

window.addEventListener("scroll", this.scrollEvent, true);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题