2013-03-22 2 views
7

По какой-то причине я не знаю, почему мое событие в режиме Backbone View не работает. Я попытался ответить Google на какой-то ответ, но я не нашел ничего, что могло бы помочь мне.Магистральные события не работают

В принципе, мой код это:

Backbone:

var ViniView = Backbone.View.extend({ 
    el: $('.container'), 
    events: { 
     "click .clickme" : "render" 
    }, 
    render: function() { 
     alert("please, work"); 
    } 
}); 

new ViniView; 

HTML

<div class="container"> 
    <button class="clickme"> 
    test 
    </button> 
</div> 
+1

Можете ли вы привести пример http://jsfiddle.net/? –

+1

Вам не нужен el для ссылки на конкретный предмет, а не на класс? – explunit

ответ

4

Ваш пример отлично работает для меня в this fiddle.

Однако, как заметил explutit, ваш el должен ссылаться на элемент и не должен быть объектом jQuery. $el позаботится об этом. По the docs:

All views have a DOM element at all times (the el property), whether they've already been inserted into the page or not. 

Убедитесь, что вы правильно загружая Jquery, подчёркивание и системообразующий скрипты (в таком порядке). Также убедитесь, что вы выполняете скрипт после того, как страница будет готова, а не, скажем, до того, как ваша DOM закончит загрузку (что приведет к тому, что ваш взгляд не будет прикреплен к чему-либо).

+2

Привет, приятель, спасибо! ошибка, которую я совершил, заключалась в том, чтобы выполнить мой основной сценарий из моей готовой функции. Теперь его работа, спасибо. –

+0

@ J.Vinicius Приятно слышать! Я сделал это раньше ... –

Смежные вопросы