新手求助: Chrome 扩展中, Vue 怎样为当前页面注入 listener

2018-04-01 10:41:00 +08:00
 wwjvtwoex

在 content_script 中想要实现一个功能:
如果用户打开的网页包含表格,注入一个鼠标事件监听者

JQuery 代码:$('table').click(fn)

Vue ?

2220 次点击
所在节点    问与答
2 条回复
noe132
2018-04-01 10:44:58 +08:00
Array.prototype.forEach.call(document.querySelectorAll('table'), v => {
v.addEventListener('click', fn, false)
})
marsLeo
2018-04-01 11:52:33 +08:00
我想到方案是:
1. 在 Vue 中注册事件
```
let app = new Vue();
app.$on('tableClick', data => {
console.log('start table fn ....', data);
})
```

2. 在页面中触发 Vue 事件
```
$('body').on('click', 'table', e => {
app.$emit('tableClick', e);
})
```
个人拙见,欢迎讨论

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/443310

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX