我想设置一个简单的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");
});
这段代码应该放在我的车把模板上,或者我应该把它重写成一个特定的助手?有没有可以提供的例子,这样我就可以研究它,然后开发类似的东西?
提前感谢!
如果在文档级别定义事件处理程序,则无需在每次动态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()
。