Событие щелчка по магистрали не срабатывает

Итак, у меня есть представление Backbone, в котором я объявляю его className. Я пытаюсь связать событие клика с этим классом. Что-то вроде этого:

className: "question"
events:
    "click .question": -> console.log("clicked")

Это не работает. Кажется, это потому, что элемент не находится внутри самого представления. Так что, если я создаю элемент в шаблоне, я могу связать его с этим просто отлично. Я должен иметь возможность привязываться к самому представлению, верно? Любая помощь приветствуется. Спасибо!


person shanemcd    schedule 29.04.2012    source источник


Ответы (1)


Из отличного руководства:

делегировать события delegateEvents([events])

[...] События записываются в формате {"event selector": "callback"}. callback может быть либо именем метода в представлении, либо прямым телом функции. Отсутствие selector приводит к тому, что событие привязывается к корневому элементу представления (this.el).

Итак, вы хотите, чтобы ваш events выглядел так:

events:
    'click': -> console.log('clicked')

Демонстрация: http://jsfiddle.net/6W6QE/

person mu is too short    schedule 29.04.2012
comment
Хе. Упс. Должно быть, пропустил эту часть. Спасибо! - person shanemcd; 30.04.2012