1

クリックされた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}}&quot;  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.targetaは、クリックされた内の要素です(例div.imgwrapper: figcaption)

Non Ractive も同様に動作します: div のクリック イベントは、その子によってトリガーされるべきではありません

オンクリック プロキシ オブジェクトを使用して要素をターゲットにするための適切な解決策は何ですか?

4

2 に答える 2