vue项目中onscroll的坑及解决
vue项目中onscroll的坑
在项目中需要监听一个组件的scroll事件,以触发到底时加载更多。
但是实际操作下来发现scroll事件并没有被监听到。
通过查询资料得知,监听的目标元素element的scroll事件不冒泡。
解决scroll绑定失败的方法
scroll直接绑定在window的捕获阶段;
window.addEventListener(‘scroll',methodName,true);
还有另外一个方式:
使用谷歌浏览器的开发者工具 performance 录制滚动动作,在event log 里查看scroll事件的目标元素,给这个元素绑定scroll事件。
如下图:

这里我们发现了scroll事件的目标元素是div.info-bottom,我们直接给它绑定scroll事件就可以了。
vue关于滚动事件v-on:scroll
vue关于滚动页面
全局监听滚动
created() {
var _this = this;
window.addEventListener('scroll',()=>{//触发事件},true);
}局部监听
<!--添加ref-->
<div class="headcol" ref="viewBox">
<table>
<thead>
<tr >
<td v-for="c in list.header">
{{c}}
</td>
</tr>
</thead>
<tbody>
<tr v-for="r in list.rows">
<td v-for="c in r">
{{c}}
</td>
</tr>
</tbody>
</table>
</div>// 首先通过$refs获取dom元素
this.box = this.$refs.viewBox
// 监听这个dom的scroll事件
this.box.addEventListener('scroll', () => {
console.log(this.$refs.viewBox.scrollTop)
}, false)总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue2+elementUI的el-tree的选中、高亮、定位功能的实现
这篇文章主要介绍了vue2+elementUI的el-tree的选中、高亮、定位功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-09-09
element-ui中el-form-item内的el-select该如何自适应宽度
自从用了element-ui,确实好用,该有的组件都有,但是组件间的样式都固定好了,下面这篇文章主要给大家介绍了关于element-ui中el-form-item内的el-select该如何自适应宽度的相关资料,需要的朋友可以参考下2022-11-11
ElementUI 详细分析DatePicker 日期选择器实战
这篇文章主要介绍了ElementUI详细分析DatePicker 日期选择器实战教程,本文通过实例代码图文介绍给大家讲解的非常详细,感兴趣的朋友跟随小编一起看看吧2024-08-08


最新评论