javascript - 如何为页面中的所有元素添加多个onclick事件

标签 javascript jquery onclick

我有这样的 HTML 代码。

<a onclick="prompt('Complete','Lorem');">Lorem</a>
<a onclick="prompt('Complete','ipsum');">ipsum</a>
<a onclick="prompt('Complete','dolor');">dolor</a>
<a onclick="prompt('Complete','sit');">sit</a>
<a onclick="prompt('Complete','amet');">amet</a>
...

我想缩小 HTML 代码,如下所示:<a>Lorem</a><a>ipsum</a>
如何为页面中所有可点击的元素添加onclick提示事件?如上面的代码所示。可能吗?

最佳答案

使用 JavaScript,您必须通过循环将点击处理程序附加到每个项目。

function userPrompt(event){
  prompt("Complete " + event.target.innerText);
}
document.querySelectorAll('a').forEach(item => item.addEventListener('click', userPrompt));
  
a {
  cursor: pointer
}
<a>Lorem</a>
<a>ipsum</a>
<a>dolor</a>
<a>sit</a>
<a>amet</a>

JQuery 有一个简单的方法来实现这一点。

function userPrompt(event){
  prompt("Complete " + event.target.innerText);
}

$('a').on('click', userPrompt);
a {
  cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a>Lorem</a>
<a>ipsum</a>
<a>dolor</a>
<a>sit</a>
<a>amet</a>

关于javascript - 如何为页面中的所有元素添加多个onclick事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53835512/

相关文章:

javascript - Angular Controller 签名中的命名函数与非命名函数之间的区别

javascript - 避免刷新时弹出窗口。仅当用户关闭浏览器窗口时显示

javascript - 为什么使用 a.click 时事件未定义

php - onclick leads function leads increment 重置页面,value + 1

Android 无法找到我的 onClick 方法

javascript - 服务火库不可用

javascript - KeyboardDatePicker素材ui的语言怎么改?

javascript - NodeJS, Angular 2 |接下来在 Observable 上执行方法

jQuery - 为什么我无法使用附加 div 更改颜色

javascript - 使用未定义的常量 jquery - 假定为 'jquery' - Wordpress