2011-06-16 36 views
2

我正在網站下載頁面運行的最新下載。Sencha Touch:使用Vimeo視頻滾動Ext.Panel打破滾動

我有一個嵌套的iFrame包含Vimeo視頻的html模板。

當我觸摸視頻周圍的任何空間時,面板會按照預期精確滾動,但是,如果在嘗試滾動時觸摸視頻,整個應用程序會滾動(Tabbar菜單,頂部工具欄等),而實際面板不會不滾動顯示頁面內容。

有沒有辦法讓它正確地滾動,無論您觸摸屏幕的哪個位置?

回答

0

你可能想看看正在被解僱的dom事件,並試圖阻止那些給你提出問題的dom事件。在最壞的情況下,用戶可能無法在首先觸摸視頻時滾動。

我有一個類似的問題,谷歌地圖(不是在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印章不是很好。我不完全瞭解你的例子。我看到它應該做什麼,但我不知道如何實現它。 :( – 2011-06-20 17:12:40

+1

它需要Ext.Map(this.googleMap),獲取HTML元素(它是一個Ext.Element),併爲該元素上的DOM事件註冊一個函數,然後該函數阻止事件傳播DOM,並由滾動組件處理。 – mistagrooves 2011-06-20 20:21:42