如何在JavaScript胡子模板上添加简单的onclick?

时间:2011-12-05 21:13:45

标签: javascript templates template-engine mustache

我有一个简单的小胡子模板:

var template = "<button style='background: red;'>{{label}}</button>";

数据:

var data = {

    label: "Click me!"

}

在进行经典转换时效果很好:

var html = Mustache.to_html( template, data );

但我的问题。如何在我的按钮上添加一个简单的onclick函数,我在indata中定义了这个函数?

4 个答案:

答案 0 :(得分:0)

使用代码添加“onclick”属性作为参数执行。

<button onclick='alert("I was called!")' style='background: red;'/>

答案 1 :(得分:0)

var template = "<button style='background: red;'>{{onclick}}</button>";

var data = {

    onclick: function(){
             // content of your function 
             }

}

JanL的答案本质上是正确的

答案 2 :(得分:0)

使用jQuery的内置.on('click')事件处理程序:

$("button").on('click', function() {
  alert("I was clicked!");
});

答案 3 :(得分:0)

我认为问题的关键在于,在知道可能使用或不使用的模板之前,您的页面不需要连接事件。从外部html文件加载模板,并在模板定义下添加包含事件的脚本