0

当使用来自 jTemplate 的 foreach 时,jQuery 不会挂钩到.click()所应用模板中任何 DOM 元素的事件。

诸如.live('click', function())不工作之类的解决方案(部分原因是不推荐使用 .live,但引入替代它来替代它.on('click', function())的方法是一样的......),我无法弄清楚如何从 jTemplate 的结果中获取 Click 事件。

我试过的东西:

  • .live('click', function())
  • .click(function())
  • .on('click', function())
  • $(window).load(function()),和中的所有 3 个事件都在$(document).ready(function())Script 标签中
  • .processTemplate()调用函数前后的所有 3 个事件

在这一点上,我对如何解决这个问题没有更多的想法。

我的 jQuery 参考版本是 2.1.3,jTemplate 是 0.8.4。

4

1 回答 1

2

对于 jQuery 1.7 及以上版本,要委托事件,您应该使用on()方法并传递选择器参数。

这是一个示例,即使将其绑定到最近的静态容器通常更好,而不是document

$(document).on('click', 'selector', handler);

您可以很好地阅读以下链接:http ://learn.jquery.com/events/event-delegation/

于 2015-02-21T17:27:05.570 回答