获取回调中视图事件绑定到的元素



在Backbone中,如何创建单击事件是很明显的,但是我很难获得表示事件绑定到的选择器的实际元素。

我必须检查我是否有它或通过$(ev.target).parent()上DOM,或者有一个更简单的方法?

标记的例子:

<div data-action="handle">
  <div>This is the click event target.</div>
</div>

主干视图示例:

Backbone.View.extend({
  events: {
    'click [data-action="handle"]': 'handle'
  },
  handle: function(ev) {
    // ev.target doesnt match up with the actual selector above
    // How do I get $element such that:
    // $element.data('action') === 'handle'
  }
}

骨干网使用事件委托。如果你试图得到

ev.target

它会告诉你事件实际发生的地方,也就是内部DIV。

要使上述工作使用:-

ev.currentTarget

这将为您提供实际附加事件的元素。

另一个答案是捕获事件的元素可以通过this获得。

如果你在回调中使用bindAll,尽管

相关内容

  • 没有找到相关文章

最新更新