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> 

那么我怎样才能find引起事件的元素的信息呢? 或在这种情况下,这是点击?

通常在一个事件绑定,你只要使用$(this) ,但我相当确定Backbone视图设置,以便this总是指向视图,所以试试这个:

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

真的很晚编辑 :你可能想要使用$(ev.currentTarget) 。 请参阅pawlik下面的答案

ev.target可能会引起误解,您应该按照http://www.quirksmode.org/js/events_order.html中所述使用;ev.currentTarget

你可以得到你想要的任何属性。 evthis

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