javascript - 如何为 div 中的所有元素设置点击处理程序

标签 javascript html

我有一堆元素,我想为所有元素设置一个单击处理程序,然后根据单击的元素执行某些操作。对于这个例子,您可以让它给出一个警报,说明所单击的按钮的类别。我的元素如下所示:<input type="button" class="numpad np-txtTP">它们都包含在同一个元素中。就我而言,我想采取 np-txt 之后的任何内容。并将其添加到文本框。

最佳答案

document.getElementById("yourdiv").addEventListener("click",function(e) {
    if(e.target && e.target.nodeName == "INPUT") {
        //do something to e.target here
    }
}

这称为事件委托(delegate),允许您为一个元素的多个后代仅绑定(bind)一次处理程序。

关于javascript - 如何为 div 中的所有元素设置点击处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13161442/

相关文章:

Javascript - 完成输入后调用函数

javascript - AngularJS 确定 ng-repeat 中的索引

javascript - 无法在 JavaScript 中调用 api(跨源)

javascript - Node.js 中的 SHA512HMAC 与 C# 不匹配

html - css3 渐变,顶部有线条

html - 我可以更改浏览器中表单/文本区域中闪烁的插入符号吗?

java - 将 javascript 变量设置为 struts 属性映射值

javascript - 如何将我的汉堡菜单转换为水平菜单?

html - 为什么我的 CSS 在使用 xampp 的本地主机中无法正常工作,但在本地或从 Netlify 站点打开相同文件时工作正常?

jquery - 由 jquery 控制的多级 html 菜单