上课不听事件

时间:2016-03-05 18:39:28

标签: javascript jquery

我有这个javascript代码:

$('.get_summary').click(function(ev){
    alert("get_summary");
});

具有该类的html按钮是在javascript中动态创建的。 使用firebug,我可以看到该按钮获得了类“get_summary”。 但是,当我点击按钮时没有任何反应。控制台中的任何错误都没有写入。

查看chrome中的“事件” - 面板我看到按钮实际上没有收听任何事件。为什么? 我在类绑定到函数的文件中放了一个警告。警报出现了。我真的不知道在哪里我应该理解为什么班级没有听这个功能。

2 个答案:

答案 0 :(得分:5)

当您致电$('.get_summary')时,它仅适用于通话时存在的元素。如果您稍后创建按钮,他们将不会收听该事件。

您可以做的是在父级上放置一个事件监听器:

$('.parent').on('click', '.get_summary', function(ev){
    alert("get_summary");
});

答案 1 :(得分:4)

动态生成的元素需要event delegation。尝试以下。

$(document).on('click', '.get_summary', function(ev){
    alert("get_summary");
});