当使用 jTemplate 中的 foreach 时,jQuery 不会 Hook 所应用模板内任何 DOM 元素的 .click()
事件。
诸如 .live('click', function())
之类的解决方案不起作用(部分原因是 .live 已被弃用,但引入了替代方案 .on('click ', function())
做同样的事情...),我不知道如何从 jTemplate 的结果中获取 Click 事件。
我尝试过的事情:
.live('click', function())
.click(function())
.on('click', function())
$(window).load(function())
、$(document).ready(function())
中的所有 3 个事件,并且可以自由地在脚本标签- 调用
.processTemplate()
函数之前和之后的所有 3 个事件
目前,我对如何解决这个问题没有更多的想法。
我引用的jQuery版本是2.1.3,jTemplate是0.8.4。
最佳答案
对于 jQuery 1.7 及以上版本,要委托(delegate)事件,您应该使用 on()方法并传递选择器参数。
这是一个示例,即使通常最好将其绑定(bind)到最近的静态容器,而不是文档
:
$(document).on('click', 'selector', handler);
关于javascript - 无法从 jTemplate 输出中 Hook Click 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28648599/