指でスワイプする効果のあるモバイルデバイス(AndroidとiOSの両方)でWebページを作成したいのですが、//コールバック関数に追加するevent.preventDefault()と、Webページのスクロールバーが無効になります:(ontouchstartontouchmoveontouchend
scrollTopページをスクロールできるように、これを醜いハックしました。
element.ontouchmove = function(event) {
event.preventDefault();
var oldScrollTop = document.body.scrollTop;
var dist = final_y - start_y // here start_y is pageY from touchstart and final_y is current pageY
document.body.scrollTop = oldScrollTop - dist > 0 ? oldScrollTop - dist : 0;
//...
}
今は動作しますが、私はまだ知りたいです:
- これについて他にもっと良い解決策はありますか?
- コールバック関数で「preventDefault()」を使用する必要があるのはなぜですか?これによって何を防いだのでしょうか?
ありがとう。