Techvenience

Technology × Convenience - Vue / React / Next / Nuxt / ChatGPTなどのIT技術がもたらす便利さをお伝えします。最近はChatGPTなどのAI技術を使ってブログを書いています。

【iOS】iOS11.3や11.4で発生したpreventScrollを防ぐ方法【スクロール】

【iOS】iOS11.3や11.4で発生したpreventScrollを防ぐ方法【スクロール】

f:id:duo-taro100:20160218004611p:plain

iOS 11.3からSafariやChrome、FirefoxでpreventScrollが生じるようになり、ブラウザの動きが気持ち悪くなりました。
状況としては下記ページの内容です。

182521 – REGRESSION (iOS 11.3 beta): touchmove preventDefault() no longer respected

緊急の対応として、touchmoveとtouchstartに対してスクロールを抑止しました。

window.addEventListener("touchstart", function(event) {event.preventDefault();}, {passive: false} );
window.addEventListener("touchmove", function(event) {event.preventDefault();}, {passive: false} );

これを実施することによって、問題の現象は修正されましたが、画面上の他の挙動に問題が出てきました。
例えばボタンが押せないとか。
その場合は、特定の要素だけ上記の処理を行わないようにすればOKです。