javascript - 检测单击了哪个按钮和复选框

标签 javascript jquery jquery-events

我有,

<div>
  <span>Buttons</span>
    <div>
      <button id ="button_1" class="button">Btn 1</button><br />
      <button id ="button_1" class="button">Btn 2</button><br />
      <button id ="button_3" class="button">Btn 3</button><br />
      <button id ="button_4" class="button">Btn 4</button><br />
    </div>
  <span>Checkboxes</span>
  <div>
    <input type="checkbox" /> Chbx 1<br />
    <input type="checkbox" /> Chbx 2 <br />
    <input type="checkbox" /> Chbx 3 <br />
  </div>
</div>

如何确定哪个按钮/复选框已被单击?我可以为每个按钮附加一个点击事件,但我正在寻找您可能拥有的更有效的任何方法/技巧。

最佳答案

您可以将点击附加到所有按钮和输入,并检查tagNameID等。

$(document).on('click', 'input, button', function(event) {
    alert(this.tagName + '#' + this.id);     
});

注意:您可以将事件仅附加到 document 元素并检查 event.target 来实现相同的效果,但上面是更高效,因为回调只会针对输入和按钮而不是所有元素触发。

查看演示:http://jsfiddle.net/vCjn9/

关于javascript - 检测单击了哪个按钮和复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14464043/

相关文章:

javascript - 元素特定类更改时的 jQuery 触发函数

javascript - jQuery UI 对话框缓存可快速实现

javascript - 如何在图像上放置很棒的字体并模仿悬停属性

javascript - jQuery 插件中的变量

javascript - 如何查找没有具有特定 css 类的单元格的表行

javascript - 使用 PHP 和 Javascript 进行跨国银行账户验证

javascript - 在另一个函数中使用时使用 $(this) 引用 Clicked 元素

javascript - 客户端(javascript)文件上传加密

javascript - 即使加载了正确的文件,jquery 函数也不起作用

javascript - AJAX 返回响应,但不将响应中的 HTML 代码附加到 div