【发布时间】:2015-09-22 06:57:44
【问题描述】:
我正在尝试使用 HandleBars 将 HTML 属性中的值注入 Javascript 函数
<button onclick="myFunction({{val}})">add</button>
我测试过
<a href="{{url}}">{{direction}}</a>
但第一个不起作用
【问题讨论】:
标签: javascript html handlebars.js
我正在尝试使用 HandleBars 将 HTML 属性中的值注入 Javascript 函数
<button onclick="myFunction({{val}})">add</button>
我测试过
<a href="{{url}}">{{direction}}</a>
但第一个不起作用
【问题讨论】:
标签: javascript html handlebars.js
不清楚您所说的“不工作”是什么意思。 (模板是否正在编译?它是否正在编译,但标记输出不是你所期望的?是你所期望的,但 js 事件在点击时没有触发?)
这似乎适用于最新版本的车把:http://jsfiddle.net/8t70qtox/2/
请注意,虽然该函数是在全局范围内触发的,但它必须在全局范围内可访问才能运行。
无论如何,最好将 js 和模板分开:而不是内联 onclick 处理程序,添加一个类和数据元素,指定函数需要的元素特定的任何内容,以便事件处理程序可以根据需要访问它。
车把:
<button class="js-btn-clicker" data-val="{{val}}">add</button>
jQuery:
$('body').on('click','.js-btn-clicker',function(){
var $el = $(this);
myFunction($el.data('val'));
});
【讨论】:
尝试像这样更改语法:Handlebars
<button onclick= 'myFunction(" {{ val }} ")'>add</button>
【讨论】: