移動端fixed元素中input文本框彈出虛擬鍵盤時樣式錯位(微信內置瀏覽器,qq瀏覽器)

代碼以下:javascript

$('input').bind("focus",function(){css

   $("div").css({"position":"absolute"});
}).bind("blur",function(){
  $("div").css("position","fixed");
});
注:
  input:獲取焦點的文本框;
  div:文本框的fixed定位父級;
 
若是不考慮橫豎屏的話,以上代碼就ok了,
若是要考慮橫豎屏 ,還需加上如下代碼:
$(window).bind("onorientationchange",function(){
    switch(window.orientation) {
        case 0:
            $('div').css({'position':'fixed'});
            break;
        case -90:
            $('div').css({'position':'absolute'});
            break;
        case 90:
            $('div').css({'position':'absolute'});
            break;
        case 180:
            $('div').css({'position':'fixed''});
            break;
    }
});
 
注: 移動端頁面若是有輸入框,不建議放到fixed定位元素裏邊,建議使用絕對定位absolute;
相關文章
相關標籤/搜索