In one of my backbone.js view classes, I have something like:
...
events: {
'click ul#perpage span' : 'perpage'
},
perpage: function() {
// Access the text of the span that was clicked here
// Something like: alert($(element).text())
},
...
because my per page markup might have something like:
<ul id="perpage">
<li><span>5</span></li>
<li><span>10</span></li>
</ul>
So how exactly can I find information about the element that caused the event? Or in this instance, that was clicked?
Normally on an event bind, you would just use $(this)
, but I'm fairly sure Backbone views are set up so that this
always refer to the view, so try this:
perpage: function(ev) {
alert($(ev.target).text());
}
REALLY LATE EDIT : You probably want to use $(ev.currentTarget)
. See dicussion on pawlik's answer below
ev.target
可能会产生误导,你应该使用http://www.quirksmode.org/js/events_order.html上描述的ev.currentTarget
You can get any attribute you want. ev
works as this
:
perpage: function(ev) {
console.log($(ev.target).attr('name'));
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.