提问者:小点点

处理车把上的jQuery onClick事件


我想设置一个简单的jQuery onClick事件来使车把模板上的UI动态。我想在特定的点击后添加Class()。

考虑超文本标记语言(由车把生成)

  {{#if hasButton}}
      <div id="container">      
          <button type="submit" class="myButton">Click me!</button>
      </div>
  {{/if}}

即:单击按钮后,其容器将收到一个加载类,该类将使用CSS创建交互。

$(".myButton").on("click", function(event){
        $(this).parent().addClass("loading");
});

这段代码应该放在我的车把模板上,或者我应该把它重写成一个特定的助手?有没有可以提供的例子,这样我就可以研究它,然后开发类似的东西?

提前感谢!


共3个答案

匿名用户

如果在文档级别定义事件处理程序,则无需在每次动态DOM更新上重新附加事件处理程序:

$(document).on('click','li',function(){
   alert( 'success' );
});

希望这有帮助!:-)

匿名用户

在将节点插入DOM超文本标记语言后,必须刷新Jquery侦听器。

var source   = "<li><a href="{{uri}}">{{label}}</a></li>";
var template = Handlebars.compile(source);
var context = {"uri":"http://example.com", "label":"my label"};
$("ul").append( template(context) );

// add your JQuery event listeners
$("li").click(function(){ alert("success"); });

匿名用户

我不确定你的问题到底是什么。如果您将JavaScript保存在*. js文件中,那么这样是正确的,可能在这个特定情况下,使用父级()而不是prev()