JS事件委托

简介: 本文介绍了JavaScript中的事件委托概念,并通过Vue.js的示例代码展示了如何利用事件委托技术来处理多个子元素的事件,从而避免为每个子元素单独绑定事件,提高性能和减少代码量。

事件委托

将事件委托给父级执行,这样在子级比较多的时候就可以不必为每一个自己增加相同功能的事件

<template >
  <div class="container">
    <ul @click="zjqFun">
      <li v-for="item in obj" :key="item">{
   {
   item}}</li>
    </ul>
  </div>
</template>
<script>
export default {
   
  setup() {
   
    let obj = [
      "我是第1行",
      "我是第2行",
      "我是第3行",
      "我是第4行",
      "我是第5行",
      "我是第6行"
    ];
    const zjqFun = e => {
   
      if (e.target.nodeName == "LI") {
   
        e.target.innerHTML = 111;
      }
    };
    return {
    obj, zjqFun };
  }
};
</script>
<style  scoped>
</style>
</script>
<style  scoped>
</style>

通过操作dom改变了每一项li的innerHTML;

通过vue的循环给一项li动态的加事件

<template >
  <div class="container">
    <ul>
      <li v-for="(item,i) in objArr" :key="item" @click="zjqFun(i)">{
   {
   item}}</li>
    </ul>
  </div>
</template>
<script>
import {
    ref } from "vue";
export default {
   
  setup() {
   
    let obj = [
      "我是第1行",
      "我是第2行",
      "我是第3行",
      "我是第4行",
      "我是第5行",
      "我是第6行"
    ];
    let objArr = ref(obj);
    const zjqFun = i => {
   
      objArr.value[i]=111
    };
    return {
    objArr, zjqFun };
  }
};
</script>
<style  scoped>
</style>
目录
相关文章
|
18天前
|
JavaScript 前端开发
理解js事件委托
【9月更文挑战第5天】理解js事件委托
34 4
|
4月前
|
存储 安全 C#
C# - 委托与事件
这篇文档介绍了C#中的委托和事件。委托是存储方法引用的类型,支持回调、事件处理,具有引用方法、类型安全、多播性等特性,并在异步编程中发挥作用。事件是委托的封装,提供保护和订阅机制,防止外部直接访问。当需要在类内部控制方法调用,防止外部误触发时,可使用事件。
|
10月前
|
JavaScript 前端开发
js事件绑定的几种方法?
js事件绑定的几种方法?
|
4月前
|
JavaScript 前端开发
JavaScript学习 -- 事件冒泡与事件委派(委托)
JavaScript学习 -- 事件冒泡与事件委派(委托)
33 0
|
C# 设计模式 编译器
|
Web App开发 安全 C#
|
监控 C# Windows
|
JavaScript
js事件委托,可以使新添加的元素具有事件(event运用)
miaov视频教程  http://study.163.com/course/courseMain.htm?courseId=231002 DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.
883 0