使用jquery模板的jquery委托问题

时间:2010-07-13 21:38:19

标签: jquery templates delegates

我一直在使用jQuery模板代码(github上的jquery.tmpl.js),它对我来说非常好用。但是,我正在尝试使用委托将事件附加到内容,但它无法正常工作。插入模板后,这是我简化的HTML结构:

<!-- static in the html file -->
<div id="container">
  <!-- this div is inserted multiple times by the jquery template code -->
  <div class="rule">
    <button>Save</button>
  </div>
</div>

在我的Javascript中,我有这个设置

$(".rule").live("click", function() {console.log("live click");});

$("#container").delegate("click", ".rule button", function() {
  console.log("delegate click");
});

当页面运行时,我可以单击模板插入的按钮,但我只在Firebug的控制台日志中获得“实时点击”消息。代表事件永远不会发生。我已经尝试了几个不同的目标/上下文代理,虽然我认为我上面的内容是正确的,但我无法让它工作。

任何人都有任何我可以尝试的建议,指示或事情吗?

谢谢! 道格

1 个答案:

答案 0 :(得分:3)

delegate()的正确语法是delegate( selector, eventType, handler )

使用

$("#container").delegate(".rule button", "click", function() {console.log("delegate click");});