返回顶部
首页 > 资讯 > 精选 >vue如何添加和移除事件
  • 347
分享到

vue如何添加和移除事件

2023-07-04 20:07:00 347人浏览 泡泡鱼
摘要

这篇文章主要介绍“Vue如何添加和移除事件”,在日常操作中,相信很多人在vue如何添加和移除事件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何添加和移除事件”的疑惑有所帮助!接下来,请跟着小编一起来

这篇文章主要介绍“Vue如何添加和移除事件”,在日常操作中,相信很多人在vue如何添加和移除事件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何添加和移除事件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

vue添加和移除事件的方法:1、通过“addEventListener()”方法添加事件句柄;2、通过“removeEventListener()”方法移除事件句柄。

vue事件添加和移除

.removeEventListener() 方法要求我们向其传递与传递给 .addEventListener() 的函数 完全相同的监听器函数。

完全相同 意味着:

  • 具有相同的目标

  • 具有相同的类型

  • 并传递完全相同的监听器

定义和用法

removeEventListener() 方法用于移除由 addEventListener() 方法添加的事件句柄。

注意: 如果要移除事件句柄,addEventListener() 的执行函数必须使用外部函数,如上实例所示 (myFunction)。

匿名函数,类似 "document.removeEventListener("event", function(){ myScript });" 该事件是无法移除的。

例如:

 { name: 'Richard' } === { name: 'Richard' }复制代码

的答案会是false,因为他们属于不同的实体。

那么,什么样的可以成功移除呢?

function myEventListeningFunction() {
   console.log('howdy');
}

// 为 点击 事件添加一个监听器,来运行 `myEventListeningFunction` 函数
document.addEventListener('click', myEventListeningFunction);

// 立即移除 应该运行`myEventListeningFunction`函数的 点击 事件监听器
document.removeEventListener('click', myEventListeningFunction);复制代码

这个可以√,因为他们都指向myEventListeningFunction()这同一个方法。

而如果是

// 为 点击 事件添加一个监听器,来运行 `myEventListeningFunction` 函数
document.addEventListener('click', function myEventListeningFunction() {
   console.log('howdy');
});

// 立即移除 应该运行`myEventListeningFunction`函数的 点击 事件监听器
document.removeEventListener('click', function myEventListeningFunction() {
   console.log('howdy');
});复制代码

则不会成功移除×,因为他们的监听器函数并不是指向同一个。

事件传递有两种方式:冒泡与捕获。

事件传递定义了元素事件触发的顺序。 如果将 <p> 元素插入到 <div> 元素中,用户点击 <p> 元素, 哪个元素的 “click” 事件先被触发呢?

在 冒泡 中,内部元素的事件会先被触发,然后再触发外部元素,即: <p> 元素的点击事件先触发,然后会触发 <div> 元素的点击事件。

在 捕获 中,外部元素的事件会先被触发,然后才会触发内部元素的事件,即: <div> 元素的点击事件先触发 ,然后再触发 <p> 元素的点击事件。

addEventListener() 方法可以指定 “useCapture” 参数来设置传递类型:

addEventListener(event, function, useCapture);

默认值为 false, 即冒泡传递,当值为 true 时, 事件使用捕获传递

removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄:

element.removeEventListener("mousemove", myFunction);

浏览器兼容处理

var x = document.getElementById("myBtn");
if (x.addEventListener) {                    // 所有主流浏览器,除了 IE 8 及更早版本
   x.addEventListener("click", myFunction);
} else if (x.attachEvent) {                  // IE 8 及更早版本
   x.attachEvent("onclick", myFunction);
}

IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener()removeEventListener() 方法。但是,对于这类浏览器版本可以使用 detachEvent() 方法来移除事件句柄:

element.attachEvent(event, function);
element.detachEvent(event, function);

vue的事件节流和移除

通常写法:

created() {
 window.addEventListener("scroll", this.throttle());
},
destroyed() {
 window.removeEventListener("scroll", this.throttle());
}
// methods
throttle() {
   let lastTime = new Date();
   let timer = null;
   return () => {
     let startTime = new Date();
     let remaining = 200 - (startTime - lastTime);
     clearTimeout(timer);
     if (startTime - lastTime > 200) {
       lastTime = startTime;
       this.scroll.call(this);
     } else {
       // 最后一次也执行
       timer = setTimeout(() => {
         this.scroll.call(this);
       }, remaining);
     }
   };
 }

vue如何添加和移除事件

都是错误的,呵呵。

问题的原因和“data为什么是函数”是一样的。节流函数throttle每次返回的函数是不一样的,所以,remove的函数和add的函数式不一样的。处理的方法就是对 节流 函数进行改造。(当然你也可以不节流就没有事了)

created() {   this.lastTime = new Date();   this.timer = null;   window.addEventListener("scroll", this.throttle);},destroyed() {   window.removeEventListener("scroll", this.throttle);}// methodsthrottle() {  let startTime = new Date();  let remaining = 200 - (startTime - this.lastTime);  clearTimeout(this.timer);  if (startTime - this.lastTime > 200) {    this.lastTime = startTime;    this.scroll.call(this);  } else {    // 最后一次也执行    this.timer = setTimeout(() => {      this.scroll.call(this);    }, remaining);  }}

事件操作和节流融合一起,所以要理解节流的实现原理。

到此,关于“vue如何添加和移除事件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: vue如何添加和移除事件

本文链接: https://lsjlt.com/news/347335.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue如何添加和移除事件
    这篇文章主要介绍“vue如何添加和移除事件”,在日常操作中,相信很多人在vue如何添加和移除事件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何添加和移除事件”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-04
  • vue怎么添加和移除事件
    本教程操作环境:Windows10系统、Vue 3版、Dell G3电脑。vue怎么添加和移除事件?vue事件添加和移除.removeEventListener() 方法要求我们向其传递与传递给 .addEventListener() 的函...
    99+
    2023-05-14
    vue移除事件
  • Vue中怎么使用addEventListener添加事件和removeEventListener移除事件
    今天小编给大家分享一下Vue中怎么使用addEventListener添加事件和removeEventListener移除事件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读...
    99+
    2023-07-04
  • jquery如何添加和移除元素
    这篇文章主要介绍“jquery如何添加和移除元素”,在日常操作中,相信很多人在jquery如何添加和移除元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery如何添加...
    99+
    2024-04-02
  • jquery如何添加类和移除类
    这篇文章主要讲解了“jquery如何添加类和移除类”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery如何添加类和移除类”吧!jquery中可用addClass()和removeCla...
    99+
    2023-07-04
  • vue如何给div添加事件
    在vue中给div添加事件的方法:1.新建vue.js项目;2.添加div标签;3.使用click属性添加事件,并绑定v-on指令;4.使用methods方法触发事件;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue ...
    99+
    2024-04-02
  • javascript怎么添加事件和删除事件
    这篇文章主要讲解了“javascript怎么添加事件和删除事件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript怎么添加事件和删除事件”吧!...
    99+
    2024-04-02
  • vue如何添加鼠标悬浮事件
    在vue中添加鼠标悬浮事件的方法:1.新建vue.js项目;2.使用v-bind指令绑定事件;3.添加代码设置鼠标悬浮事件;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue...
    99+
    2024-04-02
  • vue-table如何实现添加和删除
    这篇文章主要介绍了vue-table如何实现添加和删除,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下一.代码<!DOCTYPE html>&...
    99+
    2023-06-15
  • Vue如何给组件添加点击事件 @click.native
    目录给组件添加点击事件 @click.native问题结论vue中@click.native使用@click.native是给组件绑定原生事件给组件添加点击事件 @click.nat...
    99+
    2022-11-13
    Vue组件添加点击事件 Vue @click.native Vue组件点击事件
  • jquery如何移除onclick事件
    本文小编为大家详细介绍“jquery如何移除onclick事件”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery如何移除onclick事件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2024-04-02
  • javascript如何移除onclick事件
    这篇文章主要介绍javascript如何移除onclick事件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! javascript移除onclick事件的...
    99+
    2024-04-02
  • dreamweaver文件面板如何添加删除或移动文件
    小编给大家分享一下dreamweaver文件面板如何添加删除或移动文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在dreamweaver文件面板中可以打开文件、更改文件名;添加、移动或删除文件;或者在进行更改后刷新“ ...
    99+
    2023-06-08
  • Git中如何添加和删除文件
    Git 是一款非常普遍和流行的版本控制工具,使用它可以轻松地跟踪并管理项目的变更。在实际应用过程中,常常会出现新增或删除文件的情况,接下来我们将详细介绍 Git 中如何添加和删除文件。添加文件添加文件的方式非常简单,只需使用 Git 的 a...
    99+
    2023-10-22
  • jquery怎么添加类和移除类
    本教程操作环境:windows7系统、jquery3.6.1版本、Dell G3电脑。jquery添加类和移除类的方法方法描述addClass()向匹配的元素添加指定的类名。removeClass()从所有匹配的元素中删除全部或者指定的类。...
    99+
    2022-11-22
    javascript jquery
  • vue 如何根据条件判断属性的添加和去除
    目录根据条件判断属性的添加和去除解决方法Vue 的条件判断语句v-ifv-elsev-else-ifv-showv-if 与 v-show 的区别根据条件判断属性的添加和去除 写一个...
    99+
    2024-04-02
  • vue如何清除事件
    在vue中清除事件的方法:1.新建vue.js项目;2.添加按钮,并绑定事件;3.通过添加标记位清除事件;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项目创建好后...
    99+
    2024-04-02
  • 如何实现jQuery添加删除按钮Click事件
    这篇文章主要为大家展示了“如何实现jQuery添加删除按钮Click事件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现jQuery添加删除按钮Click...
    99+
    2024-04-02
  • 如何移除css的hover事件
    这篇“如何移除css的hover事件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何移除css的hover事件”文章吧。移...
    99+
    2023-07-05
  • jQuery如何移除事件监听?
    ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作