vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue $event获取当前元素及相关元素

vue中$event使用之获取当前元素及相关元素

作者:酷酷的橙007

这篇文章主要介绍了vue中$event使用之获取当前元素及相关元素,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

$event使用之获取当前元素及相关元素

对于常见的事件,比如点击事件,第一个参数是事件本身,另外,在实际项目中,我们可能需要获取事件执行的元素或相关元素,在这里总结一下。

例如:点击事件

<button @click = “clickfun($event)”>点击</button>

通过事件获取元素:

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的通俗理解

通过对$event的多次打印结果,可见:

下面是例子:

<button @click="console.log($event)" name="哈哈">单击</button>

由于鼠标点击,所以触发鼠标单击事件,打印出来的是事件,如下图:

展开后确实有target属性,且target说明了这是button:

实际上展开target就可以看到更具体的信息,这里不做演示,其实也就是这个button的各种属性等等,直接就是这dom元素。

且看下面这段代码,直接打印出target:

<button @click="console.log($event.target)" name="哈哈">单击</button>

可见打印出来的值就是这个元素本身

我们可尝试获取其属性值:

<button @click="console.log($event.target.name)" name="哈哈">单击</button>

所以我们可以利用$event进行一些函数传值之类的特殊操作

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文