1

私はkinetic-v4.3.0-beta2.jsを使用しています

iOSとAndroidのグループでモバイルタッチイベントを処理したい.

次のようなイベントをバインドしています

group.on('touchstart', function (evt) {

    $('#onpopMenu').popup("open", { x: leftPosition, y: topPosition });

});

「touchend」、「touchstart」、「tap」を試してみました

「タップ」で部分的に成功しましたが、その場合、形状はドラッグ可能であるため、オブジェクトがその場所から移動するため、タップ イベントが適切に発生しません。

ただし、形状がドラッグ可能でない場合は正常に機能します。

「touchend」および「touchstart」イベントも試しましたが、タッチ グループで Jquery Mobile Popup を開いているため、iOS および Android でイベントが発生した後、ポップアップ メニューが閉じます。

touchstart イベントが発生したとき、ポップアップ メニューは 2 ~ 3 秒間だけ開きます。

キネティック JS モバイル イベントで同じ問題に直面した人はいますか? 「クリック」または「タッチ」イベントのみを処理する方法。

参考のためにhttp://www.html5canvastutorials.com/kineticjs/html5-canvas-mobile-events/をチェックしましたが、運がありませんでした!

Phonegap + JQM + Kinetics JS でアプリを開発しています

前もって感謝します!

4

2 に答える 2

0

アプリケーションが webview 内で実行されていることに注意してください。これが、タッチ/クリック イベントで 2/3 秒の遅延がある理由です。これが、すべての PhoneGap 開発で Fastclick.js を使用する理由です。FastClick は、モバイル ブラウザーでの物理的なタップとクリック イベントの発生の間の 300 ミリ秒の遅延をなくすためのシンプルで使いやすいライブラリです。目的は、現在のロジックへの干渉を回避しながら、アプリケーションの遅延を軽減し、応答性を高めることです。https://github.com/ftlabs/fastclickで見つけることができます。使い方は簡単です (jQuery を使用している場合)。

<script type='application/javascript' src='/path/to/fastclick.js'></script>
<script>
    $(function() {
        FastClick.attach(document.body);
    });
</script>
于 2013-07-31T07:47:46.983 に答える
0

クリック/タッチ イベントをテストするためのjsfiddleを作成しました。

私が理解していることから、Kinetic.Groupノードはありますが、 jquery mobile を使用してポップアップdraggableを開きたいと考えています。

オブジェクトをドラッグすると、タップイベントが発生しないことは正しいです。しかし、そうでなければ、形状がドラッグ可能でない場合、タップイベントは正常に機能すると言いました。これは私に信じさせます:

  1. 「タップ」でポップアップが欲しい
  2. 「ドラジェンド」のポップアップが欲しい

その場合、次のように両方のイベントを使用するだけです。

group.on('tap dragend', function (evt) {
  $('#onpopMenu').popup("open", { x: leftPosition, y: topPosition });
});

私の仮定が間違っている場合はお知らせください。適切な解決策を得るために協力できます。私はあなたがいつポップアップしたいかを推測しているので、ポップアップをいつ発生させたいかを正確に教えていただければ、非常に役立ちます.

http://www.html5canvastutorials.com/kineticjs/html5-canvas-cancel-event-bubble-propagation-with-kineticjs/の使用も検討することをお勧めします。evt.cancelBubble = true;

于 2013-07-31T13:53:03.143 に答える