Backbone.js на iPad: второй экземпляр представления имеет проблему с некоторым связыванием событий - PullRequest
0 голосов
/ 01 сентября 2011

Я занимаюсь разработкой приложения с использованием Backbone.js и столкнулся с проблемой, из-за которой любой экземпляр представления, кроме первого, не может привязать событие click к «.playVideo» при доступе с iPad.Тот же код выполняется так, как я ожидаю в настольных браузерах.

Я создаю простую карусель, которая может прокручивать влево / вправо, и при нажатии кнопки я запускаю другое событие для создания видеопроигрывателя на странице.Первые два события, которые связываются с классом .leftArrow / .rightArrow, работают во втором экземпляре представления;однако привязка click .playView будет работать только в первом экземпляре.

Во время отладки я также добавил новую привязку «click a» и заметил, что дополнительные экземпляры не выполняют событие для этого элемента какхорошо.

Упрощенный код

Pod = Backbone.View.extend({
 events: {
     'click .leftArrow' : 'previous'
    ,'click .rightArrow' : 'next'
    ,'click .playVideo' : 'loadPlayerUI'
 }
,initialize:function()
{   
    // Do stuff
    return this;
}
,render:function()
{
    // Draw stuff
    return this;
}
,loadPlayerUI : function(event) {
    event.originalEvent.preventDefault();
    console.log("Hit");
    return this;
}

});

В приведенном выше примере консольное сообщение не появится ни для одного экземпляра этого представлениякроме первого созданного.

Вопрос

Что я могу делать неправильно?

Я ценю вашу помощь.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...