-1

I am using Backbone in a project and I am trying to get the events functionality of Backbone Views to work correctly. I have the following code (it is extracted out of my current application):

My Base File:

window.App =
   Models: {}
   Views: {}

My Model:

class App.Models.Story extends Backbone.Model
  defaults:
    id: null
    content: null

My View:

class App.Views.Story extends Backbone.View
  tagName: "li"
  className : "story item"

  events:
    "click" : "test"

  test: ->
    alert "TEST"

  render: ->
    html = "<div> #{@model.get("content")} </div>"
    $(@el).html(html)
    return this

The Code on page load:

$(document).ready ->
  story = new App.Models.Story(content: "Some content")
  view = new App.Views.Story(model: story)
  $("body").append(view.render().el)

The element renders but when I click on it, the click handler does not execute. What am I doing wrong?

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Zameer Manji
  • 3,017
  • 5
  • 31
  • 42

1 Answers1

2

You are going to hate this answer... you need to declare events not event:

events:
    "click" : "test"
Brian Genisio
  • 47,787
  • 16
  • 124
  • 167