在vue项目中,给一个div标签绑定了click方法,但是是无法使用e.target.onclick来判断这个标签是否绑定了click事件的,请问有什么手段可以知道是否给某个标签绑定了click事件吗?
在vue项目中,给一个div标签绑定了click方法,但是是无法使用e.target.onclick来判断这个标签是否绑定了click事件的,请问有什么手段可以知道是否给某个标签绑定了click事件吗?
this._vnode.data.on 可以获取一帮的事件
this._vnode.data.attr 可以获取已绑定的标签
<div id="app" @click="onClick">
<!-- 首先来张背景图 -->
</div>
onClick(){
console.log("点击",this._vnode.data);
}
输出
{
"attrs": {
"id": "app"
},
"on": {"click":"invoker()"}
}
你可以把这个div写成一个组件,这样可以获取到这个组件对应的vnode,在vnode的on和natvieOn里面就会有对应事件。
如果非要用原生dom的话,那是取不到的。因为vue是通过addEventListener来给dom绑定事件的,通过addEventListener绑定的事件目前是没法取到的。
9 回答1.8k 阅读✓ 已解决
6 回答1.7k 阅读
3 回答1.5k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
https://jsbin.com/lamuhayire/...,console,output