国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

解決vue 界面在蘋(píng)果手機(jī)上滑動(dòng)點(diǎn)擊事件等卡頓問(wèn)題

2024-05-06 15:27:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

用vue編寫(xiě)項(xiàng)目接近尾聲,需要集成到移動(dòng)端中,在webstorm上界面,運(yùn)行效果都很完美,但是在蘋(píng)果手機(jī)上各種問(wèn)題都出現(xiàn)了,原生項(xiàng)目一向滑動(dòng)流暢,事件響應(yīng)迅速,可是蘋(píng)果手機(jī)打開(kāi)這個(gè)項(xiàng)目有兩個(gè)問(wèn)題,

(1).滑動(dòng)頁(yè)面卡頓,

(2).點(diǎn)擊事件響應(yīng)緩慢,百度才發(fā)現(xiàn)在蘋(píng)果手機(jī)上有300ms的延遲。

一.滑動(dòng)頁(yè)面卡頓

//頁(yè)面布局<template> <div class='content'>  頁(yè)面內(nèi)容 </div></template>

在對(duì)應(yīng)的組件的最外層div上加上這樣的樣式:

.content{  -webkit-overflow-scrolling: touch;  }

-webkit-overflow-scrolling: touch;這句代碼最好可在公共的樣式中添加,防止很多頁(yè)面都需要寫(xiě)的麻煩。這句代碼雖然可以解決滑動(dòng)不流暢的問(wèn)題,但是可能會(huì)引起幾個(gè)小問(wèn)題:

(1).在滑動(dòng)界面之中使用的position:fixed 無(wú)法固定下來(lái),會(huì)隨著界面進(jìn)行一起滾動(dòng)

解決方法:將使用的position:fixed(頭部導(dǎo)航)寫(xiě)在滑動(dòng)部位外部,在使用絕對(duì)定位進(jìn)行布局,以此解決問(wèn)題

(2).vue中使用v-if導(dǎo)致的界面第一次無(wú)法滑動(dòng)

解決方法:將v-if改成v-show進(jìn)行展示,解決界面進(jìn)入之后不能滑動(dòng)的問(wèn)題

二.點(diǎn)擊事件響應(yīng)緩慢

(1).安裝fastclick (npm install fastclick -S)

(2).在main.js中設(shè)置方法

import FastClick from 'fastclick'FastClick.attach(document.body);

在引入fastclick之后,雖然頁(yè)面事件快了很多,但是會(huì)有一個(gè)副作用:input輸入框需要連續(xù)點(diǎn)擊兩次或者長(zhǎng)按才能獲取焦點(diǎn),真是到處是坑啊!

解決方法:在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();}};

總結(jié)

以上所述是小編給大家介紹的解決vue 界面在蘋(píng)果手機(jī)上滑動(dòng)點(diǎn)擊事件等卡頓問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 宝兴县| 湖南省| 平阳县| 赤壁市| 双江| 河东区| 延长县| 牙克石市| 九寨沟县| 海兴县| 资溪县| 商洛市| 平谷区| 长武县| 甘洛县| 盱眙县| 泾阳县| 乌兰浩特市| 额敏县| 岑溪市| 商城县| 星座| 昆明市| 朝阳县| 桂平市| 楚雄市| 鸡西市| 庄浪县| 外汇| 阿荣旗| 凤台县| 海口市| 泗水县| 沽源县| 静乐县| 固阳县| 临清市| 兖州市| 元阳县| 阳西县| 云安县|