我使用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);
当我直接用HTML填充它时,jQuery的单击功能可以正常工作:
$(".professional_list_card").click(function(event)
{
event.preventDefault();
var professional_uuid = jQuery(this).find("input:hidden");
alert(professional_uuid.val());
});
但是,当我用JavaScript插入HTML时,jQuery的功能单击不起作用。 然后我试着做一个函数,并使用onclick,也不能正常工作:
function showProfessionalDetails()
{
var professional_uuid = jQuery(this).find("input:hidden");
alert(professional_uuid.val());
}
我如何控制用JavaScript插入的HTML?点击和其他事件?
谢谢!
答案 0 :(得分:0)
为此,您需要将click
事件委托给DOM元素。
$("document").on("click", ".professional_list_card").click(function(event)
{
event.preventDefault();
var professional_uuid = jQuery(this).find("input:hidden");
alert(professional_uuid.val());
});