开发者

Backbone.js on iPad: Second instance of a view has an issue with some event binding

开发者 https://www.devze.com 2023-04-01 16:47 出处:网络
I am developing an application using Backbone.js and have run into an issue where any instance of a view, excluding the first, fails to bind a click event to the \".playVideo\" when accessed from an i

I am developing an application using Backbone.js and have run into an issue where any instance of a view, excluding the first, fails to bind a click event to the ".playVideo" when accessed from an iPad. The same code executes as I would expect on desktop browsers.

I am creating a simple carousel that can scroll left/right and when a button is clicked I trigger another event开发者_运维技巧 to create a video player on the page. The first two events which bind to the .leftArrow / .rightArrow class do work on the second instance of the view; however, the click .playView binding will only work on the first instance.

While debugging, I also added a new binding 'click a' and observed that the additional instances don't execute an event for that item as well.

Simplified Code

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;
}

});

In the above example the console message will not appear for any instance of this view except the first one created.

Question

What may I be doing incorrectly?

I appreciate your help.

Thank you.

0

精彩评论

暂无评论...
验证码 换一张
取 消