骨干事件没有解雇

时间:2011-10-03 02:57:24

标签: javascript backbone.js coffeescript

我知道有关此事的其他帖子,但到目前为止我看到的答案没有帮助,与我的情况略有不同。

window.BotView = Backbone.View.extend
  initialize: ->
    _.bindAll @, 'alert', 'render'
    @el # by calling this here, it initializes the jQuery object

  el: $("#submit")

  model: Chatbot

  events:
    "click #submit" : "alert"

  alert: ->
    console.log("alert called")
    alert("event observed")

  render: ->
    alert("Rendered")


jQuery ->
  window.App = new BotView
  console.log App.el

我想要的只是当我点击id submit alert的提交按钮来启动events功能时。但是,我甚至无法让它发挥作用。

click #submit处理el上的el处理程序无法正常工作?

我已经仔细检查过我的{{1}}是否已正确初始化,但即便如此,也无关紧要,因为点击处理程序未使用{{1}}

有没有人可以解释为什么这个简单的事件没有解雇?

提前致谢

1 个答案:

答案 0 :(得分:8)

在您的事件中,您要说的是,在#submit元素中,查找一个被ID为#submit的元素。将其更改为

'click' : 'alert'

它应该可以正常工作。

jQuery等同于你的上述内容:

$('#submit').find('#submit').click(alert);