Javascript 单击不会触发

Javascript 单击不会触发,javascript,jquery,Javascript,Jquery,我有一个(可能)很容易解决的问题,但我不知道出了什么问题。我尝试运行.click()jquery,但它不会触发。我认为这是因为实际的DOM项是用javascript动态创建的(这有关系吗?) 动态创建的内容是: <div class="rPics"> <div class="class"> <canvas id="canSSJ01" class="thumbCan" width="600" height="720"></canva

我有一个(可能)很容易解决的问题,但我不知道出了什么问题。我尝试运行.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>
现在,当我检查chrome时,它根本不会触发.click函数:(


我做错了什么?

如果元素是动态创建的,那么您希望使用

$( document ).on( 'click', '.class', function () {
另外,您可能需要重新考虑将类名设置为
class

有关文档,请参阅
有关类似的问题,请参阅。

如果元素是动态创建的,则您希望使用

$( document ).on( 'click', '.class', function () {
另外,您可能需要重新考虑将类名设置为
class

有关文档,请参阅。 有关类似的问题,请参阅。

对于动态创建的元素,您需要使用方法和学习。使用最近的静态容器绑定事件

$(document).on('click', '.class', function(){
  globalJID = $(this).children(".cDID").text();
  console.debug("clicked thCC: "+globalJID);
});
对于动态创建的元素,您需要使用方法和学习

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

由于项目是动态创建的,因此可以将事件委派用于:

如果您使用的是旧版jquery,则可以通过
live

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

由于项目是动态创建的,因此可以将事件委派用于:

如果您使用的是旧版jquery,则可以通过
live

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

事件委派。Google itEvent委派。Google it为了便于阅读,这里更改了类的名称。实际的类名是thumbCanCon..但我认为当类很短且clear@TomaszGolinski-好的,很高兴听到名称不是类。为了便于阅读,类的名称已更改这里实际的类名是thumbCanCon..但是我想当这个类很短而且clear@TomaszGolinski-好的,很高兴听到这个名字不是班级。嗨,埃德加。你的答案很好,但我能要求你不要加上“谢谢”或“希望这有帮助”吗给每个人?反正他们会的。嗨,埃德加。你的答案很好,但我能要求你不要给每个人都加上“谢谢”或“希望这有帮助”吗?反正他们会的。