У меня есть следующий код, например
$("a.foo").bind(function (e){
var t;
if ( $(e.target).is("a") ){
t = $(e.target);
}else{
t = $(e.target).parent("a");
}
var data = t.attr("data-info");
});
На английском. У меня может быть список якорей, в которых могут быть
ряд пролетов. Каждый якорь объявлен как
<a class="foo" href="#" data-info="1">
<span> ... </span>
<span> ... </span>
</a>
<a class="foo" href="#" data-info="2">
<span> ... </span>
<span> ... </span>
</a>
...
...
Я привязываю обработчик к событию click якоря
но объект события возвращается с привязкой ИЛИ одним из промежутков
в зависимости от того, где я нажимаю. Таким образом, чтобы получить значение html5 "data-info" в
В обратный вызов мне нужно вставить немного грязного кода. Это сейчас появляется
во всем моем коде до точки, где я предполагаю, что может быть
идиоматический способ обработки JQuery.
РЕДАКТИРОВАТЬ: фрагмент позвоночника, показывая мою реальную проблему (извините за кофе)
class DashboardView extends Backbone.View
events:
"click a.foo": "editLogItem"
editLogItem: (e)->
t = $(e.target).closest("a")