2011-06-16 4 views
2

私はの最新のダウンロードをウェブサイトのダウンロードページから実行しています。Sencha Touch:Vimeoビデオを含むExt.Panelをスクロールすると、スクロールが途切れます

Vimeoビデオを含むネストされたiFrameを持つhtmlテンプレートがあります。

ビデオの周りの任意のスペースをタッチすると、パネルは正しくスクロールされますが、スクロールするときにビデオをタッチすると、アプリケーション全体がスクロールします(タブバーメニュー、トップツールバーなど)ページの下にコンテンツを表示するためにスクロールしないでください。

画面上のどこをタッチしても正しくスクロールできるようにする方法はありますか?

答えて

0

おそらく、解雇されているDOMイベントを見て、問題を引き起こしているイベントを止めようとします。最悪の場合、ビデオを最初にタッチすると、ユーザがスクロールできなくなることがあります。

Googleマップでも同様の問題が発生しました(ただし、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