クリックされた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 のクリック イベントは、その子によってトリガーされるべきではありません
オンクリック プロキシ オブジェクトを使用して要素をターゲットにするための適切な解決策は何ですか?