2023-06-22 使用事件委托来为所有子节点绑定事件,e.target和this的区别,vue获取DOM节点的常见方法

这篇具有很好参考价值的文章主要介绍了2023-06-22 使用事件委托来为所有子节点绑定事件,e.target和this的区别,vue获取DOM节点的常见方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.使用事件委托为子节点绑定事件
<body>
  <ul onclick="func(event)">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
  </ul>
</body>
<script>
    function func(e){
      console.log(e.target)
      e.target.style.background="yellow"
    }
</script>
2.e.target和this的区别
  • 形参e是指事件对象,
它是事件的一系列相关数据的集合,由系统自动创建,无需传参,
事件对象只有在事件(比如onclick)存在时在存在
  • e.target是返回触发事件的对象
  • e.target与this的区别
e.target返回的是 触发 事件的对象或元素,this返回的是 绑定/调用 事件的对象或元素

比如:
在事件委托中,把点击事件绑定给父节点(ul)时,
this返回的是绑定点击事件的元素,也就是ul
而e.target返回的是被点击的某个子节点,也就是li

3.vue中如何获取DOM节点?

注:vue无需通过操作DOM节点来更新界面,也不推荐开发者直接操作DOM文章来源地址https://www.toymoban.com/news/detail-496542.html

方法一:通过事件源来获取当前点击的节点
  • 不传参
//html
 <input type="button" value="点击" v-on:click='fun'/>
//js
methods:{
             fun:function(event){
                 console.log(event.target);
             }
         }
  • 传参
//html
 <input type="button" value="点击" v-on:click='fun($event.target)'/>
//js
methods:{
             fun:function(e){
                 console.log(e);
             }
         }
方法二:通过ref来获取当前点击的节点
//html
 <input ref='name' type="button" value="点击" v-on:click='fun'/>
//js
methods:{
           fun(){
               console.log(this.$refs.name);
           }
         }
方法三:使用自定义指令来获取当前点击的节点
//html
 <input type="button" value="点击" v-get/>
//js(无需点击就能获取)
   Vue.directive("get",{
       bind:function(el){
           console.log(el);
       }
   })

到了这里,关于2023-06-22 使用事件委托来为所有子节点绑定事件,e.target和this的区别,vue获取DOM节点的常见方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序事件绑定使用

    事件是视图层到逻辑层的通讯方式。 事件可以将用户的行为反馈到逻辑层进行处理。 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。 事件对象可以携带额外信息,如 id, dataset, touches 在组件中绑定一个事件处理函数 然后在相应的page定义中

    2024年02月09日
    浏览(27)
  • 2023-06-10:给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示 在节点网络中,只有当 graph[i][j] = 1 时,节点 i 能够直接连接到另一个节点 j。

    2023-06-10:给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示 在节点网络中,只有当 graph[i][j] = 1 时,节点 i 能够直接连接到另一个节点 j。 一些节点 initial 最初被恶意软件感染。只要两个节点直接连接, 且其中至少一个节点受到恶意软件的感染,那么两个节点都

    2024年02月08日
    浏览(28)
  • 【C#学习笔记】委托与事件 (从观察者模式看C#的委托与事件)

    转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/134655722 作者:CSDN@|Ringleader| 主要参考: 委托(C# 编程指南) 事件介绍 C# 中的委托和事件简介 Delegate 类 Exploring the Observer Design Pattern微软技术文章翻译 委托是一种 引用类型 ,表示对具有特定参数列表和返回类型

    2024年02月04日
    浏览(40)
  • JS事件冒泡与JS事件代理(事件委托)

    通俗来讲,当触发(点击或者触摸之类的做法)有父元素的子元素的时候,事件会从事件源(被点击的子元素)开始逐级向上传播,触发父级元素的点击事件,一直会传到window。如果在某一层想要中止冒泡,使用 event.stopPropagation() 。下面见详细的代码: 我们可以发现,当点

    2024年02月09日
    浏览(34)
  • 【华为OD机试 2023 B卷 | 100分】事件推送、 所有(Ai, Bj)数对(C++ Java JavaScript Python)

    2023年11月份,华为官方已经将 华为OD机考:OD统一考试(A卷 / B卷)切换到 OD统一考试(C卷) 。根据考友反馈:目前抽到的试卷为B卷或C卷,其中C卷居多 ,按照之前的经验C卷部分考题会复用A卷,B卷题,博主正积极从考过的同学收集C卷真题。 可以先继续刷B卷, C卷的题目会

    2024年02月09日
    浏览(27)
  • 桌面端旗舰显卡/GPU,所有显卡,服务器显卡,加速卡,工作站显卡天梯榜单,天梯图,天梯列表,2023/2/22

    注意:这里仅统计能买到的GPU,部分超算的定制GPU不算在内 顺序:从高到低 NVIDIA OVX SuperPOD(1024 L40) NVIDIA DGX H100 256 SuperPOD NVIDIA DGX A100 256 SuperPOD NVIDIA OVX POD(128 L40) NVIDIA OVX Server(8*L40) NVIDIA HGX H100 8-GPU SXM Board NVIDIA DGX H100 NVIDIA HGX A100 16-GPU SXM Board NVIDIA DGX A100 NVIDIA HGX H1

    2024年02月06日
    浏览(108)
  • 2023-05-12:存在一个由 n 个节点组成的无向连通图,图中的节点按从 0 到 n - 1 编号, 给你一个数组 graph 表示这个图, 其中,graph[i] 是一个列表,由所有与节点 i

    2023-05-12:存在一个由 n 个节点组成的无向连通图,图中的节点按从 0 到 n - 1 编号, 给你一个数组 graph 表示这个图, 其中,graph[i] 是一个列表,由所有与节点 i 直接相连的节点组成。 返回能够访问所有节点的最短路径的长度。 你可以在任一节点开始和停止,也可以多次重访

    2024年02月04日
    浏览(37)
  • WPF中TextBox使用KeyBinding绑定命令,键盘事件

        最近在做一个扫码枪识别条形码的功能,TextBox文本按回车键或者是扫码枪识别条形码自动触发查询功能,由于架构采用的是MVVM的开发模式,所以,刚开始采用KeyBinding的方式绑定命令,然后实现该功能;代码如下: 对应的ViewModel中绑定命令事件,代码如下所示     初步

    2024年02月14日
    浏览(36)
  • c# 事件与委托

    //在C#中, 事件是一种特殊的委托 ,它允许对象通知其他对象发生了某个特定的事件。 //事件通常用于GUI应用程序中,例如当用户单击按钮时,按钮控件会引发Click事件, //然后其他对象可以订阅该事件并执行相应的操作。 //以下是一个简单的示例,演示如何在C#中使用事件和

    2024年02月06日
    浏览(26)
  • JS 事件委托

    JavaScript事件委托(Event delegation)又叫事件代理,是一种在父元素上监听事件,然后通过事件冒泡机制来处理子元素的事件的技术。通过事件委托,可以避免为每个子元素都绑定事件处理程序,提高性能并简化代码。 事件委托的基本原理是将事件处理程序绑定在父元素上,然

    2024年02月11日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包