在div中创建可点击的div

时间:2014-10-17 15:26:38

标签: javascript jquery html

出于某种原因,我不能让这件事变得简单:

     for (var i = 0; i < results.length; i++) { 
      var object = results[i];
      $("#recipes_names").append("<div id ="  + "recipe" + i + " >");
      $("#recipes_names").append(object.get('recipe_title'));
      console.log(object);
      console.log(object.id + ' - ' + object.get('recipe_title'));
      $("#recipe1").click(function(e) {
        e.stopPropagation();
        alert("inside click");
    });
    }
  },

我在&#34; recpie_names&#34;中创建了div。名为&#34; recipe0&#34; /&#34; recipe1&#34;等等,我不能让我的生活让他们可以点击。 我确定在这里犯了一些最小的错误,但我无法将其钉死。 你能救我一下吗?

3 个答案:

答案 0 :(得分:1)

您必须委派您的活动

$('#recipes_names').on('click', 'div[id^=recipe]', function(e){
    e.stopPropagation();
    alert("inside click");
});

答案 1 :(得分:1)

将一个类添加到附加的div中,而不是在id的基础上添加事件,只在类选择器上添加一个事件,并仅在事件上写入:

$("#recipes_names").append("<div class='recipe' id ="  + "recipe" + i + " >");

$(document).on("click",".recipe",function(e) {
        e.stopPropagation();
        alert("inside click");
    });

答案 2 :(得分:0)

看起来你事后正在生成这些div。所以.click不起作用。

尝试:

$("#recipe1").on('click', function(e) {
    e.stopPropagation();
    alert("inside click");
});