微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – Backbone.js事件绑定

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

问题是Backbone绑定事件(这些在视图的事件哈希中),使得回调函数中的“this”引用视图而不是li元素。这意味着我无法确定已经点击了几个li元素中的哪一个。如果我使用正常的jQuery绑定,我可以将“this”绑定到li元素,但是我没有跟踪模型了,所以我无法更新它。

解决方法

jQuery的习惯是将这个设置为当时所方便的一个方法一个非常讨厌的模式,在我看来,幸运的是,你永远不用依赖它:
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.
}

…可以根据需要使用event对象的target或currentTarget。

原文地址:https://www.jb51.cc/jquery/182428.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐