首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Backbone.js事件绑定

Backbone.js事件绑定
EN

Stack Overflow用户
提问于 2011-03-11 15:31:49
回答 1查看 18.9K关注 0票数 17

我使用的是Backbone.js,每个模型的视图都有一个分段的控件类型的UI元素。它们每个都由一个带有几个li元素的ul组成。我想绑定一个事件,这样当这些元素中的一个元素被单击时,我就可以确定哪个元素被单击了,并用适当的值更新模型。

问题是Backbone绑定了事件(这些事件在视图的事件散列中),因此回调函数中的"this“指的是视图,而不是li元素。这意味着我无法确定单击了几个li元素中的哪一个。如果我使用一个普通的jQuery绑定,我可以将"this“绑定到li元素,但是这样我就不能再跟踪模型了,所以我不能更新它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-11 21:03:24

在我看来,jQuery习惯于将this设置为当时方便的任何内容,这是一个非常糟糕的模式--幸运的是,您永远不需要依赖它:

代码语言:javascript
复制
onClick: function(e) {
  this;                // Still the view instance (as it should be).
  e.target;            // The element that was clicked.
  e.currentTarget;     // The element that was bound by the click event.
}

..。您可以根据需要使用事件对象的targetcurrentTarget

票数 44
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5270188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档