我必须使用具有由同步请求(JSON格式)接收的数据的行来更新表。我很好地完成了这项任务(用动态创建带有接收数据的行)。现在我尝试在这些行中设置一些事件,例如在用户将鼠标移过时突出显示它们,并在用户单击时显示另一个div中的行的特定信息。
我尝试了很多方法,但没有任何反应。这些活动根本不起作用。我使用的是Spring Framework mvc,视图层基于Tiles模板(header.jspx,menu.jspx,footer.jspx等)。
我必须将jquery代码放在另一个地方?有人可以帮忙解决这个问题吗?
答案 0 :(得分:0)
如果没有看到代码,就无法给出确切的答案,但我猜测你在创建元素之前将事件绑定到元素上。这是JavaScript程序员中常见的陷阱。
在创建元素之后,您必须绑定事件侦听器(例如:.addEventListener()
或jQuery' s .click()
)。在JavaScript代码中,在从异步数据创建HTML元素后添加它们。
答案 1 :(得分:0)
非常感谢@thameera。这正是我所做的。它工作得很好。我还找到了另一种方法。我使用jQuery方法.delegate为不存在的元素分配一个动作,如下面的代码所示:
$(document).ready(function() {
$("#table tbody").delegate("tr", "click", function() {
alert("Click!");
});
});