我目前正在开发一个使用VueJS的项目。这个项目有很多mixin和组件,HTML @click
中定义了许多地方。
是否可以获取附加了这些事件列表的DOM节点列表?或者扩展主事件监听器功能,以便我可以为它添加一些额外的逻辑?我已经搜索了几个小时的答案,但仍然找不到任何有用的东西。
谢谢!
答案 0 :(得分:1)
我只想告诉您,在经过大量调试后,我找到了一种方法来确定哪些元素附加了@click
事件。对于那些仍然想知道的人:
function loopThroughVueNodeChildren(children) {
children.forEach(vnode => {
// Is an @click attached to this element?
if (vnode.data && typeof vnode.data.on !== 'undefined' && typeof vnode.data.on.click === 'function') {
console.log('This element has an @click event! I can do whatever i need to do in here :)');
}
if (vnode.children) {
this.addEventListenerOnVueNodes(vnode.children);
}
})
},
loopThroughVueNodeChildren(this._vnode.children);