Я занимаюсь разработкой приложения с использованием 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;
}
});
В приведенном выше примере консольное сообщение не появится ни для одного экземпляра этого представлениякроме первого созданного.
Вопрос
Что я могу делать неправильно?
Я ценю вашу помощь.
Спасибо.