vue:$event获取当前元素的节点

本文介绍如何在JavaScript中利用click事件处理程序,获取并操作DOM元素,包括前一个、第一个、下一个元素,特定ID元素,属性值,父元素及子元素的HTML。适合前端开发者深入理解事件处理和DOM操作。
<p @click = “clickfun($event)”>点击</p>
methods: {
clickfun(e) {
// e.target 是你当前点击的元素
// e.currentTarget 是你绑定事件的元素
    #获得点击元素的前一个元素
    e.currentTarget.previousElementSibling.innerHTML
    #获得点击元素的第一个子元素
    e.currentTarget.firstElementChild
    # 获得点击元素的下一个元素
    e.currentTarget.nextElementSibling
    # 获得点击元素中id为string的元素
    e.currentTarget.getElementById("string")
    # 获得点击元素的string属性
    e.currentTarget.getAttributeNode('string')
    # 获得点击元素的父级元素
    e.currentTarget.parentElement
    # 获得点击元素的前一个元素的第一个子元素的HTML值
    e.currentTarget.previousElementSibling.firstElementChild.innerHTML
  
    }
        },

 

 

Vue中,$event一个特殊的变量,用于在事件处理函数中访问原生的DOM事件对象,主要在模板中的内联事件处理中使用。以下是几种常见的使用方法: ### 基本事件处理 在简单的按钮点击事件中,若要访问鼠标点击事件的原生属性,如 `clientX` 和 `clientY`(鼠标指针在浏览器可视区域中的水平和垂直坐标),可以使用 `$event`。示例代码如下: ```vue <template> <button @click="handleClick">点击我</button> </template> <script setup> const handleClick = (e) => { console.log('鼠标点击位置:', e.clientX, e.clientY); }; </script> ``` 这里的 `e` 就是 `$event` 传递过来的原生DOM事件对象,通过它可以访问事件的相关属性 [^1]。 ### 在DOM事件回调函数中获取事件对象 在DOM事件的回调函数中传入参数 `$event`,能够获取到该事件的事件对象。示例如下: ```vue <template> <button @click="getData($event)">按钮</button> </template> <script setup> const getData = (e) => { console.log(e); }; </script> ``` 在这个例子里,`e` 代表了点击按钮时的原生DOM事件对象 [^2] [^3]。 ### 获取当前元素节点相关信息 通过 `$event` 可以获取当前点击元素节点信息。示例如下: ```vue <template> <p @click="clickfun($event)">点击</p> </template> <script> export default { methods: { clickfun(e) { // e.target 是当前点击的元素 // e.currentTarget 是绑定事件的元素 // 获得点击元素的前一个元素 console.log(e.currentTarget.previousElementSibling); // 获得点击元素的第一个元素 console.log(e.currentTarget.firstElementChild); // 获得点击元素的下一个元素 console.log(e.currentTarget.nextElementSibling); // 获得点击元素中id为string的元素 console.log(e.currentTarget.getElementById("string")); // 获得点击元素的string属性 console.log(e.currentTarget.getAttributeNode('string')); // 获得点击元素的父级元素 console.log(e.currentTarget.parentElement); // 获得点击元素的前一个元素的第一个元素的HTML值 console.log(e.currentTarget.previousElementSibling.firstElementChild.innerHTML); } } } </script> ``` 在 `clickfun` 方法中,`e` 为 `$event` 传递的事件对象,通过 `e.currentTarget` 可以操作绑定事件的元素节点 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值