У меня есть представление, которое создает подпредставление для каждого элемента в списке. В общем, назовем их ListView и ListItemView. Я прикрепил событие к ListItemView следующим образом:
events: {
"click .remove": "removeItem"
}
У меня есть сгенерированный шаблоном html для ListItemView, который примерно похож на следующий (поменял lb/rb на {/}, чтобы вы могли видеть "незаконный" html):
{div class="entry" data-id="this_list_item_id"}
SOME STUFF HERE
{div class="meta"}
{a class="remove" href="javascript:;"}[x]{/a}
{/div}
{/div}
Проблема в том, что при нажатии на любой из [x] ВСЕ ListItemView запускают свою функцию removeItem. Если у меня он отключается от идентификатора этой модели, то я удаляю все элементы на странице. Если я отключил родительский элемент щелкнутого элемента, чтобы получить идентификатор данных, я получаю удаление для КАЖДОГО экземпляра ListItemView. Есть ли способ создать событие для конкретного экземпляра, которое будет запускать только один removeItem?
Если у меня есть ListView, удерживайте один экземпляр ListItemView и переназначайте модель ListItem и визуализируйте для каждого элемента в списке, он работает. Я получаю только одно действие (removeItem). Проблема в том, что мне нужно найти родителя целевого клика, чтобы найти атрибут data-id. Лично я считаю приведенный ниже фрагмент довольно уродливым и хочу лучшего.
var that = $($(el.target).parent()).parent();
Любая помощь, которую кто-либо оказывает, будет принята с благодарностью.