HammerJS + Angular が「タップ」でイベントを 2 回発生させるという奇妙な問題が発生しています。
ソース/デモ: http://plnkr.co/edit/yjtZsQjRPwiuc8FuM3SO?s=hi&p=preview
コンピュータでは、クリックは 1 つのイベントです。iPad では、タップは 2 つのイベントです。なんで?どうすれば修正できますか?
HammerJS + Angular が「タップ」でイベントを 2 回発生させるという奇妙な問題が発生しています。
ソース/デモ: http://plnkr.co/edit/yjtZsQjRPwiuc8FuM3SO?s=hi&p=preview
コンピュータでは、クリックは 1 つのイベントです。iPad では、タップは 2 つのイベントです。なんで?どうすれば修正できますか?
この問題は、HammerJS が touchstart イベントと mousedown イベントの両方をリッスンしていることに起因しているようです (hammer.js の 351 行目を参照)。
詳細: https://github.com/EightMedia/hammer.js/issues/234
angular-gestures モジュールを使用することをお勧めします。私はそれを使用しましたが、この問題には遭遇していません: https://github.com/wzr1337/angular-gestures
したがって、問題はjqueryと関係があります。特定の問題がどこにあるかは不明ですが、Hammer+JQueryを使用しないことで問題は解決しました。