HTML 属性中的把手设置值供 JS 使用
Handlebars setting values in HTML attribute for JS use
我正在尝试使用 HandleBars 将 HTML 属性中的值注入到 Javascript 函数
<button onclick="myFunction({{val}})">add</button>
我测试过
<a href="{{url}}">{{direction}}</a>
但第一个不起作用
不清楚您所说的 "not working." 是什么意思(模板是否正在编译?是否正在编译但标记输出不是您所期望的?是否是您所期望的但 js 事件未触发单击?)
这似乎适用于最新版本的车把:http://jsfiddle.net/8t70qtox/2/
请注意,尽管该函数是在全局范围内触发的,因此必须可以在那里访问它才能 运行。
无论如何,最好将 js 和模板分开:不要使用内联的 onclick 处理程序,而是添加 class 和 data- 元素,指定特定于该函数的元素的任何内容需要事件处理程序可以根据需要访问它。
车把:
<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>
我正在尝试使用 HandleBars 将 HTML 属性中的值注入到 Javascript 函数
<button onclick="myFunction({{val}})">add</button>
我测试过
<a href="{{url}}">{{direction}}</a>
但第一个不起作用
不清楚您所说的 "not working." 是什么意思(模板是否正在编译?是否正在编译但标记输出不是您所期望的?是否是您所期望的但 js 事件未触发单击?)
这似乎适用于最新版本的车把:http://jsfiddle.net/8t70qtox/2/
请注意,尽管该函数是在全局范围内触发的,因此必须可以在那里访问它才能 运行。
无论如何,最好将 js 和模板分开:不要使用内联的 onclick 处理程序,而是添加 class 和 data- 元素,指定特定于该函数的元素的任何内容需要事件处理程序可以根据需要访问它。
车把:
<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>