jsモバイル端末は、入力フォーカス後にキーボードがポップアップし、高さがページの境界線によって圧迫されるという問題を解決します

ページスタイルはパーセンテージレイアウトで、幅と高さはすべて100%です。テスト済みのモバイルデバイスはHuaweiタブレットです。入力ボックスをクリックしてキーボードをポップアップすると、ページスタイルの高さが圧縮されて圧縮されます。解決するコード:

    //解决弹出键盘页面高度变化bug

    var viewWidth = window.innerWidth; //获取可视区域宽度
    var viewHeight = window.innerHeight; //获取可视区域高度
    if (viewWidth > viewHeight) {
        horizontalScreen = true; // 横屏 判断横竖屏,需要的时候用
    } else {
        horizontalScreen = false; // 竖屏
    }
    $("input").focus(function () { // 监听获取焦点事件
        $("body").css("height", viewHeight); //键盘弹起的时候把body高度设置可视高度
    }).blur(function () {
        $("body").css("height", "100%");
    });

ブラウザは縦画面で初期化されますが、横画面に回転させた後、入力ボックスをクリックすると変形するので、ブラウザのウィンドウサイズの変化を聞いて、高さを再設定しました。

window.addEventListener('resize', function () {
    // 变化后需要做的事
    console.log("bianhuale==============");
    viewHeight = window.innerHeight; //获取可视区域高度
    viewWidth = window.innerWidth; //获取可视区域高度
})

 

おすすめ

転載: blog.csdn.net/qq_40015157/article/details/113941022