检查是否已单击自动创建的div

时间:2017-12-01 12:41:35

标签: javascript jquery html css

我有一个带有元素列表的JSON文件。对于此列表中的每个元素,都会创建一个容器。这是代码:

$.getJSON('/data/risks.json', function(data) {
var html = '';

$.each(data.risk, function(key, value){
    html += '<div class="elementlist">';
    html += '<br><p><b>'+value.name+'</b><br><br>'+value.description+'</p>';
    html += '</div>';
});
$('#list').html(html);
});

现在我需要知道用户点击了哪个容器。 这样:

$('.elementlist').click(function(){
var chosenRisk = $(this).text(); 
    console.log(chosenRisk);
});

适用于页面上已有的容器,但适用于基于JSON文件创建的容器。 最好的方法是什么?

问候

2 个答案:

答案 0 :(得分:2)

委派活动。

$(document).on('click', '.elementlist', function(){
    var chosenRisk = $(this).text(); 
    console.log(chosenRisk);
});

我还建议将document更改为'#list',以便稍微提高性能。

答案 1 :(得分:1)

您需要delegate处理事件

$('#list').on( "click", ".elementlist", function(){
    var chosenRisk = $(this).text(); 
    console.log(chosenRisk);
});