vue 介面在蘋果手機上滑動點選事件等卡頓解決方案
用vue編寫專案接近尾聲,需要整合到移動端中,在webstorm上介面,執行效果都很完美,但是在蘋果手機上各種問題都出現了,原生專案一向滑動流暢,事件響應迅速,可是蘋果手機開啟這個專案有兩個問題,(1).滑動頁面卡頓,(2).點選事件響應緩慢,百度才發現在蘋果手機上有300ms的延遲。
一.滑動頁面卡頓
//頁面佈局
<template>
<div class='content'>
頁面內容
</div>
</template>
在對應的元件的最外層div上加上這樣的樣式:
.content{
-webkit-overflow-scrolling: touch;
}
-webkit-overflow-scrolling: touch;這句程式碼最好可在公共的樣式中新增,防止很多頁面都需要寫的麻煩。這句程式碼雖然可以解決滑動不流暢的問題,但是可能會引起幾個小問題:
(1).在滑動介面之中使用的position:fixed 無法固定下來,會隨著介面進行一起滾動
解決方法:將使用的position:fixed(頭部導航)寫在滑動部位外部,在使用絕對定位進行佈局,以此解決問題
(2).vue中使用v-if導致的介面第一次無法滑動
解決方法:將v-if改成v-show進行展示,解決介面進入之後不能滑動的問題
二.點選事件響應緩慢
(1).安裝fastclick (npm install fastclick -S)
(2).在main.js中設定方法
import FastClick from 'fastclick'
FastClick.attach(document.body);
在引入fastclick之後,雖然頁面事件快了很多,但是會有一個副作用:input輸入框需要連續點選兩次或者長按才能獲取焦點,真是到處是坑啊!
解決方法:在main.js中新增下面的程式碼
FastClick.prototype.focus = function(targetElement) {
var length;
// Issue #160: on iOS 7, some input elements (e.g. date datetime month) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.
if (deviceIsIOS&& targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time' && targetElement.type !== 'month') {
length = targetElement.value.length;
targetElement.focus();
targetElement.setSelectionRange(length, length);
} else {
targetElement.focus();
}
};
完美解決問題!不知道還有多少未知坑等著填補,遇一坑天一坑!
相關文章
- 蘋果容器超出內容overflow滑動卡頓問題蘋果
- 關於iScroll外掛在某一些手機上滑動卡頓或者不滑動的處理
- 移動端VUE點選、滑動和長按等事件處理(自定義指令)Vue事件
- click事件在蘋果手機失效的問題事件蘋果
- 不要在 XML 設定,解決 NestedScrollView 巢狀 RecyclerView 滑動卡頓XMLView巢狀
- iOS全埋點解決方案-介面預覽事件iOS事件
- 介面冪等性解決方案
- iOS全埋點解決方案-UITableView和UICollectionView點選事件iOSUIView事件
- iOS全埋點解決方案-控制元件點選事件iOS控制元件事件
- 解決方案:蘋果手機真的安全嗎?防止個人隱私洩露要注意這幾點蘋果
- 如何解決快應用頁面滑動卡頓問題
- 蘋果更新iOS 14.5.1後卡頓或發燙,試試這個方法解決吧!蘋果iOS
- 被蘋果11.2警告的解決方案蘋果
- 蘋果手機怎麼在影片上新增字幕編輯文字蘋果
- runloop解決Cell上主執行緒卡頓OOP執行緒
- Android Studio debug斷點 介面卡頓Android斷點
- 優化動畫卡頓:卡頓原因分析及優化方案優化動畫
- 蘋果mac卡頓怎麼解決呢?輕鬆幾招讓你Mac流暢如新蘋果Mac
- 蘋果手機現在入手優惠大(蘋果企業簽名)蘋果
- 移動APP卡頓問題解決實踐APP
- 基於vue解決大資料表格卡頓問題Vue大資料
- 蘋果手機尺寸蘋果
- JavaScript左右滑動切換的選項卡詳解JavaScript
- 直播平臺軟體開發,Android程式碼模擬觸控、點選及滑動等事件Android事件
- Performance選項卡筆記以及分析vue頁面卡頓ORM筆記Vue
- 安卓手機耗電、卡頓嚴重的解決方法 安卓手機省電小妙招安卓
- .ipa包直接在蘋果手機上安裝蘋果
- div拖動遇到iframe卡頓的問題解決
- win10執行老遊戲卡頓怎麼解決 win10執行老遊戲頻繁卡頓解決方案Win10遊戲
- (轉)解決XMind執行卡頓
- vue專案--瀏覽器出現卡頓及崩潰的原因查詢與解決方案Vue瀏覽器
- CollectionView 單個選項卡的滑動View
- 4種辦法解決:蘋果手機跟iPad怎麼同步照片蘋果iPad
- API介面開發(一):介面開發返回結果解決方案API
- RecyclerView 梳理:點選&長按事件、分割線、拖曳排序、滑動刪除View事件排序
- 蘋果手機怎麼投屏到電腦上蘋果
- 直播系統中影片出現卡頓的原因及解決方案
- new Date(date).getTime()在蘋果手機不相容蘋果