[英]backbone.js - events, knowing what was clicked
在我的一个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>
那么我怎样才能找到导致该事件的元素的信息呢? 或者在这个例子中,点击了?
通常在事件绑定,你只需使用$(this)
,但我相当肯定骨干视图设置,让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'));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.