Подтвердить что ты не робот

Backbone.js - события, зная, что было нажато

В одном из классов просмотра backbone.js у меня есть что-то вроде:

...

events: {
  'click ul#perpage span' : 'perpage'
},

perpage: function() {
  // Access the text of the span that was clicked here
  // Something like: alert($(element).text())
},

...

потому что моя разметка на каждую страницу может иметь что-то вроде:

<ul id="perpage">
  <li><span>5</span></li>
  <li><span>10</span></li>
</ul>

Итак, как именно я могу найти информацию об элементе, вызвавшем событие? Или в этом случае это было нажато?

4b9b3361

Ответ 1

Обычно для привязки события вы просто используете $(this), но я уверен, что представления Backbone настроены так, что this всегда ссылаются на представление, поэтому попробуйте следующее:

perpage: function(ev) {
   alert($(ev.target).text());
}

ДАЛЬНЕЙШЕЕ ИЗМЕНЕНИЕ. Вероятно, вы хотите использовать $(ev.currentTarget). См. Ответ на ответ pawlik ниже

Ответ 3

Вы можете получить любой атрибут, который вы хотите. ev работает как this:

perpage: function(ev) {
        console.log($(ev.target).attr('name'));
}