在视图的事件属性中使用backbone.js监听相对于@el的事件

发布于 2025-01-08 01:10:51 字数 627 浏览 1 评论 0原文

我这样写我的视图:

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。

I write my view like this :

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

And i want to add an element in the events array like this :

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

Am I able to do that? And how can i do that? I am using jQuery.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北座城市 2025-01-15 01:10:51

你不能做 'click @el.find('img')' 但 'click img' 相当于你想做的 - 所以它更简单:)

它的工作方式是它将第一个空格之前的第一个单词作为事件类型,之后的所有内容都将转换为 jQuery 选择器。如果您仅传递一个没有选择器的事件名称,则事件将绑定到 @el 如果您传递一个选择器字符串,它将将该事件委托给 @el.findselector_string

you can't do 'click @el.find('img')' but 'click img' is an equivalent of what you want to do - so it's much simpler :)

the way it works is that it takes the first word before first space as a event type and everything after that is turned into a jQuery selector. If you pass just an event name without a selector, event will be bound to @el if you pass a selector string it will delegate the event to @el.find selector_string

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文