处理手柄上的jQuery onClick事件

handling jQuery onClick event on handlebars

本文关键字:jQuery onClick 事件 处理      更新时间:2023-09-26

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

考虑HTML(由手柄生成)

  {{#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");
});

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

提前感谢!

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

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

希望这能有所帮助!:-)

在将节点插入DOM HTML后,必须刷新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文件中,那么在这种特定情况下,perhapsprev()上使用parent()是正确的。