我正在尝试向单击的类添加一个active
类名。li
显示它已被选中。
我的模板:
var legCatagoryTemplate = "<ul>{{#legs:i}}<li><a href='#' on-click='selectCategory:{{this}},{{i}}' data-id='{{i}}'><figure><div class='imgWrapper'><img src='{{preview}}'></div><figcaption><h4>{{name}}</h4><p>W: {{width}}" H:<span></span>: {{material}}</p></figcaption></figure></a></li>{{/legs}}</ul>";
它是如何称呼的:
var legCategoryView = new Ractive({
el: "#catalog",
template: legCatagoryTemplate,
data: response_from_ajax
});
我如何处理事件:
legCategoryView.on('selectCategory', function ( event, self, index ){
console.log(event.target, self, index);
}
我发现了什么:
event.target
是被点击的内部元素a
(例如div.imgwrapper
, figcaption
)
Non Ractive 的行为类似:div 上的单击事件不应由其子级触发
什么是使用点击代理对象定位元素的好解决方案?