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
你可以得到你想要的任何属性。 ev
是this
:
perpage: function(ev) { console.log($(ev.target).attr('name')); }