vue 事件委托

news/2024/7/10 0:30:40 标签: vue, 事件委托

Vue 添加事件的方式很方便,在标签元素上以@click=“itemFn” 的形式填加就好,而且还有 .stop.prevent.self 等修饰符,简单好用。

但是如果li非常多呢?给列表上每个li都添加点击事件是不是不太好?

li 添加click

<template>
	<ul>
      <li class="li" v-for="(m,i) in 5" :key="i" @click="itemFn(m)">{{m}}</li>
    </ul>
</template>

<script>
	export default {
		methods:{
			itemFn (res) {
				//点击每个li,打印 1 、2 、3 、4、5
				
				console.log(res) 	}
			}
		}
	}
</script>

事件委托 ul 添加click

<template>
	<ul @click="clickUlFn">
      <li class="li" v-for="(m,i) in 5" :key="i" :data-index="i">{{m}}</li>
    </ul>
</template>

<script>
	export default {
		methods:{
			clickUlFn (e) {
				if(e.target.nodeName =='LI'){
					//0、1、2、3、4  下标
					console.log(e.target.dataset.index) 
				}
			}
		}
	}
</script>

注意 nodeName

需要注意比对一下nodeName,是否点击的是 li
在这里插入图片描述

事件委托的坑

//将点击事件添加到UI上,确实减少了事件的注册,但是li里通常还有其他子元素,
//当你实际获取e.target.nodeName 时,也大概率不是li ,因此我一般会将一个子元素定位到li上面
// z-index 调大,且透明

如果还有更好的办法,欢迎评论留言~


http://www.niftyadmin.cn/n/1558198.html

相关文章

marquee 标签实现文字左右滚动

为什么80%的码农都做不了架构师&#xff1f;>>> <marquee id"mymarquee" οnmοuseοver"mymarquee.stop()" οnmοuseοut"mymarquee.start()" scrollAmount"5" scrollDelay"50" behavior"scroll"…

Vue 引入字体库

开发项目中&#xff0c;我们偶尔会遇到这么个问题&#xff0c;UI同学为了凸显某些标题或者文案&#xff0c;使用了特定的字体样式&#xff0c;那么前端如何去实现呢&#xff1f; 首页我们都会想到设置font-family&#xff0c;但是并没有什么用&#xff0c;那是因为我们没有引入…

Redis延迟监控框架

每个Redis实例经常被用于每时每刻都要提供大量查询服务的场景&#xff0c;同时&#xff0c;对平均响应时间和最大响应延迟的要求都非常严格。 当Redis用作内存系统时&#xff0c;它以不同的方式与操作系统进行交互&#xff0c;例如&#xff0c;持久化数据到磁盘上。再者&#x…

absolute 宽度自适应

absolute 应该是前端开发最常用的position定位属性值之一&#xff0c;对于它如何使用就不详细谈了&#xff0c;这里说一说使用 absolute固定定位后的width问题。 垂直上下居中 //html <div class"relative"><h6 class"absolute">我是张三&l…

欧拉回路与欧拉路径

欧拉回路与欧拉路径 如果图G中的一个路径包括每个边恰好一次&#xff0c;则该路径称为欧拉路径(欧拉通路)。 如果一个回路是欧拉路径&#xff0c;则称为欧拉回路(Euler circuit)。 说的直白点&#xff0c;欧拉回路就是从一个点出发&#xff0c;经过每一条边恰好一次&#xff0c…

css 实现跑马灯效果

最近有一个跑马灯的效果&#xff0c;需要实现。本来想偷个懒从网上随便拷贝一个&#xff0c;结果发现都不太理想&#xff0c;于是自己动手封装了一个&#xff0c;和大家分享一下。 首先我们要知道跑马灯的具体效果是什么样子的。 效果图 我们通过效果图可以看到&#xff0c;在…

Vue学习 -- 生命周期

不知不觉在前端领域已经待了好多年了&#xff0c;从最初的小菜鸟也已经成长成了大菜鸟&#xff0c;虽然仍没啥成就&#xff0c;但是也比自己当初刚踏入这行强了不少&#xff0c;尤其是最近几年通过大量的项目开发&#xff0c;业务能力还是提高了很多。 临近年底&#xff0c;工…

行业标准已“提上日程”,VR发展“一片光明”

谷歌、Valve这些大公司都加入了这个组织的行业标准确定中&#xff0c;那么对于VR来说&#xff0c;我们目前需要哪些具体的行业标准呢&#xff1f; 在VR领域内&#xff0c;无论是硬件&#xff0c;还是内容&#xff0c;其实还都处在早期的野蛮生长期间&#xff0c;很多公司都在朝…