在我的一根脊梁上.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>

那么,我怎样才能准确地找到导致事件的元素的信息呢?或者在这个例子中,点击了?

推荐答案

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:你可能想用$(ev.currentTarget).关于波利克答案的讨论见下文

Jquery相关问答推荐

将div中的下一个2个标题分组

多个 AJAX 调用;获取所有失败的呼叫

第一次单击后,Ajax addEventListener 停止工作

如何从 onclick div 属性检测 Javascript 中的 control+click?

jQuery获取DOM node ?

如何以十六进制获取元素的背景 colored颜色 代码?

在 Javascript 中启用和禁用 Div 及其元素

jQuery从下拉列表中删除一个选项,给定选项的文本/值

jQuery JSON到字符串?

在 800px 后在 scrollDown 上显示 div

lodash debounce 在匿名函数中不起作用

如何在 JQuery DataTable 中默认显示所有行

iframe 仅显示页面的特定部分

如果 iframe src 无法加载,则捕获错误.错误:-拒绝在框架中显示 'http://www.google.co.in/'..

输入元素上的 Javascript 更改事件仅在失go 焦点时触发

检测用户是否创建了滚动事件

jQuery 追加淡入

Twitter Bootstrap 中的树

textarea 的 val() 与 text()

jquery ui Dialog:无法在初始化之前调用对话框上的方法