控制javascript动态插入的html

控制javascript动态插入的html,javascript,jquery,html,dynamically-generated,Javascript,Jquery,Html,Dynamically Generated,我使用JavaScript生成专业卡片HTML: var professionalsCards = ''; $.each(professionalsData, function(i, item) { professionalsCards += '<div class="col-md-3 professional_list_card">'; professionalsCards += '<a href="#" onclick="showProfessionalDe

我使用JavaScript生成专业卡片HTML:

var professionalsCards = '';
$.each(professionalsData, function(i, item)
{
    professionalsCards += '<div class="col-md-3 professional_list_card">';
    professionalsCards += '<a href="#" onclick="showProfessionalDetails()">';
    professionalsCards += '<div class = "panel panel-default professional_list_panel">';
    professionalsCards += '<img src="'+websiteTPL+'images/user-without-avatar-400x400.jpg" height="75px" width="75px" alt="..." class="img-circle center-block" />';
    professionalsCards += '<h4 class="text-center">'+item.fullname+'</h4>';
    professionalsCards += '<input type="hidden" id="professional_uuid" name="professional_uuid" value="teste" />';
    professionalsCards += '</div></a></div>';
});

$("div#professionals_list").html(professionalsCards);
但是,当我插入带有JavaScript的HTML时,jQuery的函数click不起作用。 然后我尝试创建一个函数并使用onclick,但不起作用:

function showProfessionalDetails()
{
    var professional_uuid = jQuery(this).find("input:hidden");
    alert(professional_uuid.val());
}
如何控制用JavaScript插入的HTML?单击和其他事件


谢谢大家!

为此,您需要将
单击事件委托给DOM元素

$("document").on("click", ".professional_list_card").click(function(event)
{
    event.preventDefault();
    var professional_uuid = jQuery(this).find("input:hidden");
    alert(professional_uuid.val());
});

我尝试了你的代码,但没有工作…我没有HTML可供测试。该对象不支持“应用”属性或方法
$("document").on("click", ".professional_list_card").click(function(event)
{
    event.preventDefault();
    var professional_uuid = jQuery(this).find("input:hidden");
    alert(professional_uuid.val());
});