在视图的event属性中使用backbone.js侦听与@el相关的事件

Listen events relative to the @el with backbone.js in the event attribute of a view

本文关键字:@el 事件 js backbone event 视图 属性      更新时间:2023-09-26

我这样写我的视图:

class Remobs.Views.Element extends Backbone.View
  template: JST['elements/element']
  events:
    'element_rended': 'initImagesDatas'
    'click img.element_image' : 'observeImageEvents'
    'click .more': 'addToBag'
    'click .less': 'decreaseNumber'
  tagName : 'li'
  render: ->
    $(@el).html(@template(element: @model))
    @currentImage = $(@el).find('img')
    @craftBox = null
    $(@el).trigger('element_rended')
    this

我想在事件数组中添加一个元素,如下所示:

events:
   'click @el.find('img')' : 'myfunction'

我能做到吗?我该怎么做?我正在使用jQuery。

你不能做'click @el.find('img')',但"点击img"相当于你想做的事情,所以它要简单得多:)

它的工作方式是将第一个空格前的第一个单词作为事件类型,然后将其转换为jQuery选择器。如果您只传递一个没有选择器的事件名称,则事件将绑定到@el。如果您传递一个选择器字符串,则它将把事件委托给@el.find selector_string