[英]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.