javascript - 使用 addEventListener 在 chrome 扩展中识别元素的 id
问题描述
所以我正在构建一个扩展,将一些预先制作的答案复制到剪贴板。我在使用事件侦听器时遇到问题,我需要制定一个逻辑来区分答案。我需要事件侦听器来识别您单击的按钮的 ID。这是我的html
<div class="dropdown">
<button class="dropbtn">Retiros</button>
<div class="dropdown-content">
<button id="link">Clearing</button>
<button id="bank">Invalid account</button>
</div>
</div>
这是我的 popup.js
document.addEventListener('DOMContentLoaded', function() {
var otra = document.getElementById('link');
otra.addEventListener('click', function() {
copyToClipboard();
});
});
const copyToClipboard = str => {
const el = document.createElement('textarea');
el.value = 'Hola chicos, el retiro se encuentra rechazado por clearing';
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
};
我需要 var otra 来识别 id 而不指定它,我尝试在 () 内使用 event.srcelement.id 但没有用。
任何帮助都会很有用,对不起我糟糕的英语和糟糕的代码技能
解决方案
循环按钮集合并为每个按钮添加一个侦听器。然后在处理程序内部this
是事件发生的元素
[].slice.call(document.querySelectorAll('.dropdown-content button')).forEach(function(el) {
el.addEventListener('click', function(e) {
console.log('id=', this.id);
})
})
<div class="dropdown">
<div class="dropdown-content">
<button id="link">Clearing</button>
<button id="bank">Invalid account</button>
</div>
</div>
推荐阅读
- javascript - 如何在子集合中制作虚拟对象 - Mogoose
- linux - 如何使用 cdo 命令在 c shell 上打开 25 个具有相同结构的文件并将内容复制到一个文件中
- python - python中的分裂chromedriver崩溃
- gitlab - GitLab web ui 导航更改
- php - 我的 select all 功能在本地完美运行,但是当我托管它时给了我一个致命错误
- bash - Bash 脚本 If 语句比较用户输入,找不到命令
- json - 如何修复 Python Elasticsearch 批量的 RequestError?
- apache-nifi - 如何在 RouteOnAtrribute 上应用条件以过滤 NIFI 中的 json 数据
- javascript - 在动态 html 元素上添加点击事件
- database - 使用和不使用 $elemMatch 的查询给了我相同的结果