Javascript 如何使用车把和YUI设置onclick?
我正在使用YUI的Handlebar模块为我的应用程序做一些模板制作,我编写了以下模板制作方法:Javascript 如何使用车把和YUI设置onclick?,javascript,handlebars.js,yui,Javascript,Handlebars.js,Yui,我正在使用YUI的Handlebar模块为我的应用程序做一些模板制作,我编写了以下模板制作方法: var source = '<ol>{{#items}}<li style="width:400px;">' + '{{{name}}} done <button class="btn btn-primary">remove # {{@index }}</button> </li>{{/items}}</ol>'; v
var source = '<ol>{{#items}}<li style="width:400px;">' +
'{{{name}}} done <button class="btn btn-primary">remove # {{@index }}</button> </li>{{/items}}</ol>';
var compileList = function() {
var html = Y.Handlebars.render(source, {
items: itemArray
});
Y.one('#my-list').setContent(html);
}
这在车把和YUI上可能吗?我建议使用事件委派(),大致如下:
Y.one('#my-list').delegate('click', function (ev) {
// do stuff here
}, 'button');
如果use()调用中还没有“node event delegate”,则需要它
“do stuff here”将是函数的主体,只是需要计算出所需的索引
事件委派更好,因为无论有多少个li,您只添加一个事件侦听器。事件侦听器位于目标元素(li)之上,等待事件将DOM冒泡到它。如果这有意义的话-如果没有,YUI网站上有更好的解释。我设法从ev获得了按钮点击的id,这没关系,因为我可以使用手柄将id设置为与索引相等
Y.one('#my-list').delegate('click', function (ev) {
// do stuff here
}, 'button');