2017-03-29 14 views
0

を動作しませんこんにちは、私は、次のHTML構造ました:私は、コードスワイプイベントの伝播が

var myElement = $(".container")[0]; 
      var hammertime = new Hammer(myElement);    
      hammertime.on("swiperight",function(){ 
       console.debug(" manage swiperight event.");     
       }); 

を使用して、クラスのコンテナでdivの上でスワイプイベントをバインドする場合

<div class="container"> 

     <div class="scroller"> 
      <div id ="goldenPage" class="page active">    
       <div class="block text"> 
        <div class="rich-text"></div> 
       </div> 
       <div class="block"> 
        <div class="form"></div> 
       </div> 
       <div class="block"> 
        <ul class="menu"></ul> 
       </div> 
      </div> 
      <div id ="cachePage" class="page"></div> 
     </div> 

    </div> 

をし、私はスワイプしても何も起こりません(スクロールクラスの内部divは親divよりも低いので、私はページの下をスワイプします)。 divのスワイプをクラスscrollerとバインドすると、スワイプは正しくバインドされます。 Scroller divはjquery scrollpane pluginとバインドされています。 アイデアは何ですか?

+0

:jQueryのを使用して

が、これはでJavaScriptコードをラップすることによって達成することができますか?それが何をやっているのか、スワイプをコンテナdivにバインドする方法を依頼していて、正しく動作している理由を尋ねていますか? –

答えて

0

DEMO - document.readyイベントの後にJavaScript/jQueryが起動されていることを確認してください。

DOMで要素が使用できるようになる前にJavaScriptが起動すると、JavaScriptは要素を検出しないため、(swiperight)イベントを要素にバインドできなくなります。だからここに質問が正確に何

$(function() { 
    // Your code here. 
    console.log("Ready!"); 
});