Магистральные события не стреляют - PullRequest
7 голосов
/ 03 октября 2011

Я знаю, что были сделаны другие сообщения по этому поводу, но пока ответы, которые я видел, не были полезными и немного отличались от моей ситуации.

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?

Iдважды проверили, что мой el правильно инициализирован, но даже в этом случае это не должно иметь значения, потому что обработчик щелчков не использует el

Может ли кто-нибудь пролить свет на то, почему это простое событие не запускается?

Заранее спасибо

1 Ответ

8 голосов
/ 03 октября 2011

В ваших событиях, которые вы говорите, в элементе #submit найдите элемент, по которому щелкают с идентификатором #submit. Измените его на

'click' : 'alert'

и должно работать нормально.

JQuery-эквивалент того, что у вас есть выше:

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