2013-05-12 2 views
0

С событием выше в позвоночнике я не могу определить ориентацию. Это не работает. Есть ли альтернатива этому? Связать событие или что-то еще? Или что-то не так в моем коде?Изменение ориентации событий не работает в магистрали

var HomeView = Backbone.View.extend({ 
    template: Handlebars.compile(template), 
    events: { 
     "click .log_out": "log_out", 
     "click .prove": "prove", 
     "orientationchange": "onOrientationChange" 
    }, 

    initialize: function() { 
     console.log("inhomeview"); 
     this.render(); 
    }, 

    render: function() { 
     //var context = JSON.parse(JSON.stringify(this.model));//eliminare 
     var context = this.model; 
     var html = this.template(context); 
     console.log(html); 

     $('#pagina').empty(); 
     $('#pagina').append(this.$el.html(html)); 

     return this; 
    }, 

    onOrientationChange: function() { 
     if (window.orientation === 90 || window.orientation === -90) { 
      alert('you are in landscape'); 
     } 
    } 
}); 
+0

см http://stackoverflow.com/questions/1649086/detect-rotation-of-android-phone-in-the-browser- with-javascript –

+0

'onorientationchange' - свойство объекта окна. Теперь вы пытаетесь применить его к Backbone View. – zvona

ответ

2

Это будет работать только в том случае, если установлен вид el на window.

Или вы можете вручную подписаться на orientationchange события:

initialize : function() { 
    $(window).on('orientationchange', this.onOrientationChange); 
} 
+0

mmm Извините, но что такое el и как я могу установить его в окно? –

+0

Вы можете узнать больше о 'el' в документации библиотеки http://backbonejs.org/#View-el –

+0

Это нормально, если я установил el: $ (window)? –

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