javascript - jquery .click 不触发

标签 javascript jquery

我有一个(可能)非常容易解决的问题,但我不知道出了什么问题。我尝试运行 .click() jquery 但它没有触发。我认为这是因为实际的 DOM 项是使用 javascript 动态创建的(这重要吗?)。

动态创建的内容是:

<div class="rPics">
    <div class="class">
        <canvas id="canSSJ01" class="thumbCan" width="600" height="720"></canvas>
        <p class="cDID hidden">SSJ01</p>
    </div>
    <div class="class">
        <canvas id="canSSJ02" class="thumbCan" width="600" height="720"></canvas>
        <p class="cDID hidden">SSJ02</p>
    </div>
</div>

Javascript:

$('.class').click(function(){
  globalJID = $(this).children(".cDID").text();
  console.debug("clicked thCC: "+globalJID);
});

现在,当我检查 chrome 时,它​​根本不会触发 .click 函数:(

我做错了什么?

最佳答案

由于项目是动态创建的,因此您可以使用事件委托(delegate) jquery .on() method :

$(document).on('click', '.class', function (){   //Here use `on`
  globalJID = $(this).children(".cDID").text();
  console.debug("clicked thCC: "+globalJID);
});

如果您使用的是旧版 jquery 版本,则可以使用 live 完成相同的操作

 $(document).live('click', function (){ 

关于javascript - jquery .click 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21072552/

相关文章:

javascript - Ffmpeg 在 Electron 沙盒应用程序中中止

javascript - scrollTo 不滚动窗口

javascript - 值(value)串联问题

javascript - JS谷歌地图修改另一个类的监听器

javascript - 在 for 循环中的 onclick 函数中传递字符串

javascript - 替换克隆表行中链接的 onclick 参数

javascript - HTML 表单不使用 appendChild 提交

javascript - 如何防止动态按钮的 onclick 事件在渲染时触发?

javascript - ES6/React "this"关键字与 ajax 从服务器获取数据(教程)

javascript - 为什么 CDN 的 URL 前面有 2//而不是 http 或 https