javascript - 如何使用jquery检测动态添加的点击元素?

标签 javascript jquery html onclick

如何检测这样的代码中单击的元素:

HTML:

<div class="foo">
  <a href=""><b>Foo</b></a>
</div>   
<div class="bar">
  <a href=""><b>Bar</b></a>
</div>

jQuery:

$('body').on('click', '.foo, .bar', function (e) {     
   if (detectElement == '.bar') {
     //
   }
}

我尝试$('this')但返回body未单击的元素。 我也尝试e.target但我想要获取主要元素( .foo.bar ),而不是 <a>/<b>

最佳答案

$('this') 不正确。 this 是包含单击元素的变量。您不能将其用作字符串。使用.hasClass()检查元素是否具有特定的类名。

$('body').on('click', '.foo, .bar', function (e) {
    if ($(this).hasClass('bar')) {
        // code
    }
});

$('body').on('click', '.foo, .bar', function (e) {
    if ($(this).hasClass('bar'))
        console.log("is .bar");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="foo">
  <a href="#"><b>Foo</b></a>
</div>
<div class="bar">
  <a href="#"><b>Bar</b></a>
</div>

关于javascript - 如何使用jquery检测动态添加的点击元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40125327/

相关文章:

jquery - 禁用特定字段的 jquery.validate 功能

javascript - 如何重用 JQuery 的结果进行 JavaScript 文本匹配?

html - Flexbox 侧边栏可以共享新行吗?

javascript - PHP 解析 JavaScript

javascript - 函数内的 Jquery bind()/live()

javascript - 激活私密浏览时防止内容脚本注入(inject)?

Javascript 调整背景图像的大小,但图像首先加载全尺寸 - 有解决办法吗?

html - 如何热点可调整大小的图像?

选择框的 javascript 函数不起作用

php - 如何删除 "Warning: Unresponsive Script"