出于某种原因,我不能让这件事变得简单:
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;等等,我不能让我的生活让他们可以点击。 我确定在这里犯了一些最小的错误,但我无法将其钉死。 你能救我一下吗?
答案 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");
});