Vue中添加滚动事件设置的方法详解


Posted in Javascript onSeptember 14, 2020

一、问题发现

在看Vue的事件文档中,测试scroll事件发现如下是行不通的,触发不了scroll事件, 经过一番搜寻未找到原因,不过找到了另外两种在Vue中设置滚动事件。

<div @scroll='showOut'></div>

二、原因分析

暂无

三、解决办法

1.直接利用mousewheel事件替代scroll事件

<div @mousewheel='showOut'></div>

mousewheel鼠标滚轮,显而易见动动鼠标滚轮就能触发事件,但是用光标拖拽滚动条就不能触发事件。

2.类似于原生JS添加滚动事件

new Vue({
    el:'#app',
    data:{
        scroll:'0'
      
    },
    methods:{
      // showOut: function ( ) {
      // console.log('hhhhh')

      // }
      scrollDs : function ( ) {
        // 页面指定了DTD,即指定了DOCTYPE时,使用document.documentElement。
        // 页面没有DTD,即没指定DOCTYPE时,使用document.body。
        this.scroll = document.documentElement.scrollTop
        console.log(this.scroll)
        
      }
    },
    // created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
    // mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
    mounted(){
      // addEventListener 方法用于向指定元素添加事件
      // 参数1:必选 事件名 例如: click , scroll , mouseenter 
      // 参数2:必选 指定事件触发时的执行函数
      // 参数3:可选 布尔值 指定事件是否咋在捕获或冒泡阶段执行
      // true - 事件在句柄捕获阶段执行
      // false - 事件句柄冒泡阶段执行
      window.addEventListener('scroll', this.scrollDs , true)
    },
  })

这种方法既能用滚轮来触发事件也能用光标拖动滚动条触发事件。

总结

到此这篇关于Vue中添加滚动事件设置的文章就介绍到这了,更多相关Vue添加滚动事件设置内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
完整显示当前日期和时间的JS代码
Sep 17 Javascript
让IE8支持DOM 2(不用框架!)
Dec 31 Javascript
你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍
Apr 23 Javascript
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
JavaScript自定义数组排序方法
Feb 12 Javascript
拥Bootstrap入怀——导航栏篇
May 30 Javascript
如何利用JSHint减少JavaScript的错误
Aug 23 Javascript
详解使用jQuery.i18n.properties实现js国际化
May 04 jQuery
vue动画打包后失效问题的解决方法
Sep 18 Javascript
原生js实现无缝轮播图
Jan 11 Javascript
40行代码把Vue3的响应式集成进React做状态管理
May 20 Javascript
React+EggJs实现断点续传的示例代码
Jul 07 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 #Javascript
swiper自定义分页器的样式
Sep 14 #Javascript
js+canvas实现转盘效果(两个版本)
Sep 13 #Javascript
js实现3D粒子酷炫动态旋转特效
Sep 13 #Javascript
原生JS实现九宫格抽奖
Sep 13 #Javascript
jQuery实现带进度条的轮播图
Sep 13 #jQuery
js+canvas实现画板功能
Sep 13 #Javascript
You might like
强烈推荐:php.ini中文版(1)
2006/10/09 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
2010/03/27 PHP
PHP下通过file_get_contents的代理使用方法
2011/02/16 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
原生JS实现列表内容自动向上滚动效果
2019/05/22 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
外语学院毕业生的自我鉴定
2013/11/28 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书