簡體   English   中英

backbone.js - 事件,知道被點擊的內容

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM