Android ブラウザはJavaScripttouchstart
でtouchend
&touchmove
をサポートしていますが、古い Android の問題は、これらのイベントが検出するタッチの数です。
たとえば、次のコードは、IOS および新しい Android デバイスでメッセージをログに記録します。
var obj = document.getElementById('elmId');
obj.addEventListener('touchmove', function(event) {
if (event.targetTouches.length == 2) {
console.log("exactly 2 fingers gesture inside elmId ");
}
}, false);
event.targetTouches.length
と等しくなることはないため、古いアンドロイドは何もしません2
。
IMHO、ほとんどのデバイスをサポートし、古いデバイスにフォールバック オプションを提供するこのアプローチを使用する必要があります (ダブルタップやボタンをズームするなど、他のジェスチャーを使用してズームします)。