Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
133
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@kokushin

jQueryでスマホのスクロールイベントを無効化する

JavaScript

// スクロール禁止
$(window).on('touchmove.noScroll', e => {
    e.preventDefault();
});

// スクロール禁止 解除
$(window).off('.noScroll');

使い方の例

メニューが開いているときはスクロールを禁止する。
メニューを閉じたときはスクロール禁止を解除する。

const $window  = $(window);
const $menu    = $('.menu');
const $menuBtn = $('.menu-btn');
let openFlag   = false;

$menuBtn.on('click', () => {

    if (!openFlag) {
        // スクロール禁止
        $window.on('touchmove.noScroll', e => {
            e.preventDefault();
        });

        // メニューを表示
        $menu.fadeIn(() => {
            openFlag = true;
        });
    } else {
        // スクロール禁止 解除
        $window.off('.noScroll');

        // メニューを非表示
        $menu.fadeOut(() => {
            openFlag = false;
        });
    }

});
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
133
Help us understand the problem. What are the problem?