我基本上有类似的东西。我要在循环中添加按钮,但是当我单击按钮时不起作用。
for(i = 0; i < 3; i++) {
$("#add").append(
'<button class ="addx"> Add </button>'
)
}
$(".addx").click(function(){
alert("ADDED");
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="add"></div>
答案 0 :(得分:5)
在脚本末尾缺少);
来关闭click
方法。
for(i = 0; i < 3; i++) {
$("#add").append(
'<button class ="addx"> Add </button>'
)
}
$(".addx").click(function(){
alert("ADDED");
}); // here
答案 1 :(得分:2)
对于动态创建的元素,您将需要重组事件侦听器:
$(document).on('click', '.addx', function(){
alert("ADDED");
});
大量评论最终得出结论,旧版本的IE确实支持.click
,并且批准的答案是正确的。
此处列出的侦听器用于异步javascript,其中在事件侦听器被声明之后(例如在回调方法之类中)添加了附加元素。
特别感谢Taplar在我们在测试环境中进行设置的过程中忍受了我的精神错乱。这是个麻烦,但最后塔普拉(Taplar)以及其他所有人都认为这是一个选择是绝对正确的,但不是对这个特定问题的明确答案。
答案 2 :(得分:0)
此代码有效。
for(i = 0; i < 3; i++) {
$("#add").append(
'<button class ="addx"> Add </button>'
)
}
$(".addx").click(function(){
alert("ADDED");
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="add"></div>