1

ゼプトに精通している人はいますか?

私は他のモバイルフレームワークの提案も受け入れています。それらがdoubleTapを適切に移植していて、その仕事を処理している場合も同様です。

モバイルSafariでdoubleTapイベントの2番目のタップで座標を検出する必要があります。

これまで、event-objにjQueryを使用してきましたが、その構文は問題ありませんでした。

 x: e.pageX 
 y: e.pageY 

ただし、iPadでは機能しません

どんな親切な助けにも感謝します、BR

4

2 に答える 2

1

これをZeptoで動作させることができるかどうかはわかりませんが(JQMobiでも同じ問題が発生しています)、代わりにHammerJS http://eightmedia.github.com/hammer.js/を使用すると、実際の値を取得できます。タップの位置

この例については、私のSoftPawsゲームを参照してください:https ://github.com/gavD/soft-paws

これがお役に立てば幸いです。

于 2012-10-25T15:17:02.360 に答える
1

私が述べたように、私は解決策を見つけたので、他のユーザーが同じ問題に直面した場合はそれを投稿します:

// double tap (tapped twice within 250ms)
      if (touch.isDoubleTap) {
        touch.el.trigger('doubleTap')
        touch = {}

上記のzepto.jsのコードは、touchイベントがdoubleTapであることを検出し、そのハンドラーをトリガーします。そして、ここに少し変更があります:

 // double tap (tapped twice within 250ms)
      ...............
        touch.el.trigger('doubleTap', {touch: touch})

パラメータとしてイベントを渡すことでオーバーライドすると、問題が解決します。これで、座標を含むすべてのプロパティでイベントオブジェクトにアクセスできるようになりました。

そして、定義されたハンドラーからそれらを抽出する方法の例を次に示します。

    Zepto('selector').doubleTap(function(e){
       var dblTap = e.data.touch;
       var coord = {
          x: dblTap.x1,
          y: dblTap.y1
       }
    });

これはv1.0.rc1で有効です。将来のリリースでケースがどうなるかわかりません

于 2012-10-27T16:56:16.403 に答える