jQuery的。点击()不工作,如果没有添加HTML元素

问题描述:

我试过的方法: Attaching click event to a JQuery object not yet added to the DOMjQuery的。点击()不工作,如果没有添加HTML元素

,但似乎没有在我的处境工作。在我通过jquery创建dom元素后,新创建的元素不可访问。我想要的是点击"click me"按钮后,图像将显示出来,我希望点击图像和div (#color-picker-box)显示出来。

我的代码:https://codepen.io/MoMoWongHK/pen/ZXbWYb

+3

请在这里发表您的代码,用户不应该去不同的网站看看吧 –

+1

这**一个简单的打字错误* *。 ''(“myDiv”)''应该是''(“#myDiv”)'',因为您是通过ID而不是通过标记名来选择的。 –

+0

这是一个愚蠢的错误... –

调用你的div的ID时添加的数字符号#,

$("myDiv").on("click" ,".color-picker-icon" , function(){ 
    alert("hi"); 
    $("#color-picker-box").removeClass("display-none"); 
}); 

$("#myDiv").on("click" ,".color-picker-icon" , function(){ 
    alert("hi"); 
    $("#color-picker-box").removeClass("display-none"); 
}); 

你只是错过了#而使用myDiv作为选择器!

错误:

$("myDiv").cl.... 

更正:

$("#myDiv").cl..... 

您需要使用事件代表团,因为没有添加的元素又DOM。您需要捕获其父级的点击。

$('#myDiv').on("click", "#color-picker-box", function(e){ 
    console.log('color box clicked'); 
}); 

了解更多关于它: https://learn.jquery.com/events/event-delegation/
http://api.jquery.com/on/