2011-06-16 39 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