jQuery不能处理从Java servlet的响应生成的表

时间:2017-11-26 16:08:40

标签: javascript java jquery html

我对servlet响应生成的表有一个奇怪的问题。

事情是:

我有一个带有按钮的HTML页面,用户按下按钮,Ajax调用开始向Java Servlet发送。 servlet响应一个简单的HTML表,该表出现在按钮下的div内。

我创建了一个简单的jQuery函数,每次点击元素TD都会在Javascript控制台日志中打印一条消息。但是点击TD它没有做任何事情。

奇怪的是,在同一页面上有相同的HTML表格(不是由javascript生成但包含在HTML页面中),在这种情况下,jQuery函数可以正常工作。

这里是表格的代码:

<table style="width:100%">
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Age</th>
  </tr>
  <tr>
    <td>Jill</td>
    <td>Smith</td>
    <td>50</td>
  </tr>
  <tr>
    <td>Eve</td>
    <td>Jackson</td>
    <td>94</td>
  </tr>
</table>

这里是jQuery代码:

jQuery(document).ready(function() {
  $("td").click(function() {
    console.log("testlog");
  });
});

由于

2 个答案:

答案 0 :(得分:0)

在这种情况下始终使用jQuery(document).ready(function() { $("td").on('click',function() { console.log("testlog"); }); });

((width + 1) / 2) * ((height + 1) / 2)

答案 1 :(得分:0)

你需要在呈现ajax调用之后放置脚本,而不是在文档就绪事件之后。 好吧,我不知道你的代码看起来如何,但做这样的事情

&#13;
&#13;
$.ajax({
//options
}).done(function(res){

  $('body').append(res)
  $("td").on('click',function() {
    console.log("testlog");
  });
})
&#13;
&#13;
&#13;