0

我有创建 html 元素并以 text/html 形式返回的 servlet

response.setContentType("text/html");
PrintWriter out = response.getWriter();    
out.write("<span class='tagged-time'> <a href='#' id='" + current.getSecond() + "' class='time'>" + current.getName() +"</a></span>");

在 Jsp 中,我使用 AJAX 调用这个 servlet。它正确返回 html 元素,但是当我单击时,不会调用 onclick 方法。

$('.tagged-time').on('click', 'a', function() {
    video.currentTime = this.id;
});
4

2 回答 2

0

在这种情况下,tagged-time元素也是动态创建的,您需要将处理程序绑定到事件绑定时存在的元素 - 在这种情况下,tagged-time元素不是

$(document).on('click', '.tagged-time a', function() {
    video.currentTime = this.id;
});
于 2013-10-16T04:44:14.277 回答
0

当您将事件 onclick 与 jquery 绑定时,它只会将该事件与您页面上的现有内容绑定。因此,即使您稍后再渲染一个 .tagged-time,新标签也不会被之前的 bind 命令绑定。

您可以尝试的是,让您的 servlet 也返回一个简单的 javascript 行,每次您返回 new 时将新元素与事件处理程序绑定。

于 2013-10-16T04:57:55.077 回答