移動端常遇到的問題

2022-02-07 23:23:11 字數 1295 閱讀 2154

時間控制項開啟時,會呼叫到手機鍵盤

解決方案,監聽focus事件,當觸發時,執行this.blur()

原生js獲取元素高度

#box

//獲取盒子的內容高度,內容高度也可用用box.clientheight獲取,內容高度不包括邊框和外邊距和滾動條

var box = document.getelementbyid("box")

var contentheight = window.getcomputedstyle(box).height //輸出 '60px'

//獲取盒子客戶端的高度

box.clientheight //輸出110 (內容高度+padding * 2)

//獲取盒子自身實際高度

box.offsetheight //輸出160 (內容高度 + 內邊距2 +邊框2)

h5頁面input獲取焦點的時候,表單可能會被手機彈出的鍵盤遮住

//當視窗大小變化時,判斷視窗高度是否小於原始高度,如果是則將頁面滾動到input出現的位置

window.onresize = () => else

};//解決方案二

settimeout(() => ,100)

//scrollintoview(alignwithtop): 滾動瀏覽器視窗或容器元素,以便在當前視窗的可見範圍看見當前元素。alignwithtop 若為 true,或者什麼都不傳,那麼視窗滾動之後會讓呼叫元素的頂部與視口頂部盡可能平齊;

alignwithtop 若為 false,呼叫元素會盡可能全部出現在視口中,可能的話,呼叫元素的底部會與視口頂部平齊,不過頂部不一定平齊。

支援的瀏覽器:ie、chrome、firefox、safari和opera。

該方法是唯一乙個所有瀏覽器都支援的方法,類似還有如下方法,但是只有在chrome和safari有效:

scrollintoviewifneeded(aligncenter)

scrollbylines(linecount)

h5端頁面absolute布局頁,當手機鍵盤彈起時,該布局會被鍵盤頂起來。

解決方案是,監聽視窗大小變化,判斷視窗高度是否小於原始高度,則布局改為fixed,高度還設為原始高度;視窗變回來時,回覆布局

window.onresize = () =>  else 

}

移動端遇到的問題

1 ios中當元素存在overflow auto的時候 且position fixed的時候 裡面的元素無法超出所設定的原始範圍 2 當滾動的內容有巢狀的時候,裡面的內容不需要加滾動屬性 3 呼叫手機相簿 相機介面 呼叫 照相機 呼叫攝像機 呼叫錄音 呼叫相機 或者相簿 呼叫相簿 vue中如果想在乙...

移動端開發遇到的問題之 表單

首次開發移動端,遇到的問題多多。一 表單樣式問題 問題一 輸入框要求游標是紅色,ios的就是改不了游標顏色。後來查了下說由於ios系統原因,改不了輸入游標的顏色,這個最後也妥協了,專案時間趕不上了。下次再做表單,堅決自己寫所有樣式,表單的元素都隱藏,用其它元素模擬,因為不只是輸入游標有問題 問題二 ...

指標常遇到的問題

指標是個涉及到記憶體,很容易產生bug的根源,總結了幾點指標容易出錯的問題 1 對於多級指標,不要在多個函式中分配記憶體空間,例如 void func char p int main 上面這段 就是現在main函式中對p指向的空間開闢了一段記憶體,然後又在func函式中開闢了二級記憶體,這樣在專案開...