2011-06-16 2 views
2

Я запускаю последнюю версию с страницы загрузки веб-сайта.Sencha Touch: прокрутка Ext.Panel с видео Vimeo внутри разрывает прокрутку

У меня есть шаблон html с вложенным iFrame, который содержит видео Vimeo.

Когда я прикасаюсь к любому пространству ВОКРУГ видео, панель прокручивается точно так, как ожидалось, однако, если я прикасаюсь к видео при прокрутке, все свитки приложений (меню вкладки, верхняя панель инструментов и т. Д.), А фактическая панель не работает Чтобы прокрутить страницу вниз, прокрутите страницу вниз.

Есть ли способ сделать это так, чтобы он правильно прокручивался независимо от того, где на экране вы касаетесь?

ответ

0

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

У меня была аналогичная проблема с Google Maps (но не в iframe). Если он был встроен в прокручиваемую панель, панель будет прокручиваться одновременно с взаимодействием с картой. Я сделал остановку распространения событий DOM в содержащем элементе. Это привело к тому, что карта имела возможность прокрутки/масштабирования, но панель больше не отвечала на события.

domEvent: function(evt, el, o) 
{ 
    evt.stopPropagation(); 
}, 

somefunction: function(){ 
    this.googleMap.el.on({ 
      tap: this.domEvent, 
      touchstart:this.domEvent, 
      touchmove:this.domEvent, 
      touchdown:this.domEvent, 
      scroll:this.domEvent, 
      pinch:this.domEvent, 
      pinchstart:this.domEvent, 
      pinchend:this.domEvent 
     }); 
} 
+0

Извините, мои отбивные JS невелики. Я не совсем понимаю ваш пример. Я вижу, что он должен делать, но я не знаю, как его реализовать. :( –

+1

Требуется Ext.Map (this.googleMap), получает элемент HTML (который является Ext.Element) и регистрирует функцию для событий DOM на этом элементе. Затем функция предотвращает распространение событий DOM и обрабатывается компонентом прокрутки. – mistagrooves