В одном из моих классов представлений 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>
Так как же мне найти информацию об элементе, вызвавшем событие? Или в данном случае это было нажато?
delegateEvents([events])
помощьюevents
объекта или с переданным объектомBackbone.View.extend
(который использует предыдущий метод за кулисами). Это не относится к событиям, связанным в инициализаторе, методе рендеринга и т. Д.ev.target
может вводить в заблуждение, вы должны использовать,ev.currentTarget
как описано на http://www.quirksmode.org/js/events_order.htmlисточник
event.target
получить только то, что нажали.Вы можете получить любой атрибут, какой захотите.
ev
работает какthis
:источник