web app遇到的一些坑及小技能
原因:手機(jī)端事件 touchstart --> touchmove --> touchend or touchcancel --> click,因?yàn)樵趖ouch事件觸發(fā)之后,瀏覽器要判斷用戶(hù)是否會(huì)做出雙擊屏幕的操作,所以會(huì)等待300ms來(lái)判斷,再做出是否觸發(fā)click事件的處理,所以就會(huì)有300ms的延遲
解決方法:使用touch事件來(lái)代替click事件,如 zepto.js 的tap事件和fastClick,還有我自己也寫(xiě)了個(gè)移動(dòng)端手勢(shì)操作庫(kù) mTouch,都有相應(yīng)的事件可以代替click事件解決這個(gè)問(wèn)題
問(wèn)題:在部分機(jī)型下(如小米4、小米2s、中興) body 設(shè)置的 font-size 是用 rem 單位的話,若其他元素沒(méi)有設(shè)置font-size,該font-size值繼承于body,則會(huì)很高概率出現(xiàn)字體異常變大的情況
原因:估計(jì)是跟app的webview默認(rèn)設(shè)置有關(guān),body的font-size使用rem單位,就是相對(duì)于 當(dāng)前根節(jié)點(diǎn)的font-size來(lái)確定的,可能在某些webview的設(shè)置下,body用的是webview設(shè)置的默認(rèn)字體大小,因?yàn)樵谖医ohtml設(shè)置 了一個(gè)px單位的默認(rèn)font-size時(shí),還是會(huì)出現(xiàn)字體異常變大的情況,具體webview的一些細(xì)節(jié)就沒(méi)有再研究了
解決方法:body設(shè)置一個(gè)px單位的默認(rèn)font-size值,不用rem,或者給字體會(huì)異常變大的元素設(shè)定一個(gè)px單位的font-size值
問(wèn)題:使用zepto的 tap 事件時(shí)會(huì)出現(xiàn)“點(diǎn)透”bug,比如:一個(gè)元素A綁定了tap事件,緊跟其后的元素B綁定了click事件,A觸發(fā)tap事件時(shí)將自己remove掉,B就會(huì)自動(dòng)“掉”到A的位置,接下來(lái)就是不正常的情況,因?yàn)檫@個(gè)時(shí)候B的click事件也觸發(fā)了
原因:因?yàn)閠ap事件是通過(guò) touchstart 、touchmove 、 touchend 這三個(gè)事件來(lái)模擬實(shí)現(xiàn)的,在手機(jī)端事件機(jī)制中,觸發(fā)touch事件后會(huì)緊接著觸發(fā)touch事件坐標(biāo)元素的click事件,因?yàn)锽元素在300ms內(nèi)剛好 “掉”回來(lái)A的位置,所以就觸發(fā)了B的click事件,還有zepto的tap事件都是代理到body的,所以想通過(guò) e.preventDefault()阻止默認(rèn)行為也是不可行的
解決方法:(1)A元素?fù)Q成click事件;(2)使用我寫(xiě)的庫(kù) mTouch 來(lái)給A綁定tap事件,然后在事件回調(diào)中通過(guò)e.preventDefault()來(lái)阻止默認(rèn)行為,或者換用其他的支持tap事件的庫(kù)
待續(xù)...
一些有用技能點(diǎn)
通過(guò)設(shè)置css屬性 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);取消掉手機(jī)端webkit瀏覽器 點(diǎn)擊按鈕或超鏈接之類(lèi)的 默認(rèn)灰色背景色
設(shè)置css屬性 -webkit-user-select:none; 控制用戶(hù)不可選擇文字
區(qū)域性 overflow: scroll | auto 滾動(dòng)時(shí)使用原生效果:-webkit-overflow-scrolling: touch (ios8+,Android4.0+)
針對(duì)APP開(kāi)發(fā)您可能感興趣
成都app開(kāi)發(fā)公司有哪些
成都APP開(kāi)發(fā)公司介紹家庭食譜APP有哪些功能價(jià)值
成都APP開(kāi)發(fā)公司介紹家庭食譜APP有哪些功能價(jià)值?如今各地都有特色菜,那么想嘗試特色菜卻又不知道在哪里找,每天不知道吃什么,就很讓人犯了難,那么成都APP開(kāi)發(fā)公司考慮到大眾的想......
成都APP開(kāi)發(fā)公司開(kāi)發(fā)APP的誤區(qū)有哪些
成都APP開(kāi)發(fā)公司開(kāi)發(fā)APP的誤區(qū)有哪些?APP看起來(lái)簡(jiǎn)單,但要完成一個(gè)app開(kāi)發(fā)項(xiàng)目,實(shí)則需要很多步驟很復(fù)雜,有些成都APP開(kāi)發(fā)公司在開(kāi)發(fā)APP時(shí),很容易陷入誤區(qū)。1.價(jià)錢(qián)越低越好,許多成都AP......
成都APP開(kāi)發(fā)公司開(kāi)發(fā)app需要哪些職位人員
成都APP開(kāi)發(fā)公司開(kāi)發(fā)app需要哪些職位人員?關(guān)于app的開(kāi)發(fā),一定需要團(tuán)隊(duì)的力量,那么成都APP開(kāi)發(fā)公司在開(kāi)發(fā)自己的APP時(shí),需要的專(zhuān)業(yè)app開(kāi)發(fā)團(tuán)隊(duì)必須要哪些人員呢。1.產(chǎn)品經(jīng)理。產(chǎn)品經(jīng)理......
成都APP開(kāi)發(fā)公司開(kāi)發(fā)電影購(gòu)票app需要哪些功能
成都APP開(kāi)發(fā)公司開(kāi)發(fā)電影購(gòu)票app需要哪些功能?近年來(lái),電影業(yè)發(fā)展迅速,喜歡看電影的朋友都會(huì)關(guān)注新電影的上映,成都app開(kāi)發(fā)公司未來(lái)久科技開(kāi)發(fā)電影購(gòu)票APP不僅能觀看電影,還能購(gòu)買(mǎi)......
成都消防APP開(kāi)發(fā)公司包含哪些功能
成都消防APP開(kāi)發(fā)公司包含哪些功能?火災(zāi)事故的風(fēng)險(xiǎn)在日常生活中無(wú)處不在,我們不僅需要知道應(yīng)對(duì)火災(zāi)的知識(shí),還要熟知其對(duì)策,那么對(duì)于不了解這方面知識(shí)的人,未來(lái)久科技成都app制作......
成都APP開(kāi)發(fā)公司開(kāi)發(fā)汽車(chē)APP的功能有哪些
成都APP開(kāi)發(fā)公司開(kāi)發(fā)汽車(chē)APP的功能有哪些?如今越來(lái)越多的人有自己的汽車(chē),那么傳統(tǒng)的汽車(chē)行業(yè)可能不能滿足大眾的需求了,成都app開(kāi)發(fā)公司未來(lái)久科技開(kāi)發(fā)的汽車(chē)APP能夠整合數(shù)據(jù)和信息......
成都按摩椅APP開(kāi)發(fā)公司功能模塊有哪些
成都按摩椅APP開(kāi)發(fā)公司功能模塊有哪些?伴隨著共享業(yè)的興起,許多共享產(chǎn)品應(yīng)運(yùn)而生,為整合線下按摩椅資源,緩解生活壓力,為使用者提供了良好的休息環(huán)境,成都app開(kāi)發(fā)公司未來(lái)久科......
成都洗車(chē)app開(kāi)發(fā)公司常見(jiàn)功能需求有哪些
成都洗車(chē)app開(kāi)發(fā)公司常見(jiàn)功能需求有哪些?伴隨著汽車(chē)數(shù)量的逐步增加,許多相關(guān)產(chǎn)業(yè)得到了發(fā)展。清洗汽車(chē)是很普遍的,但是洗車(chē)排隊(duì)也是常事。成都app開(kāi)發(fā)公司未來(lái)久科技開(kāi)發(fā)洗車(chē)APP為......
成都樂(lè)器app開(kāi)發(fā)公司功能需求有哪些
成都樂(lè)器app開(kāi)發(fā)公司功能需求有哪些?很多時(shí)候我們都會(huì)想要玩一玩樂(lè)器,但是又沒(méi)必要專(zhuān)門(mén)去報(bào)班或者買(mǎi)些樂(lè)器,在這種情況下,未來(lái)久科技成都app制作公司開(kāi)發(fā)成都樂(lè)器app,讓每一個(gè)人......
成都手機(jī)app開(kāi)發(fā)公司怎么樣
成都未來(lái)久開(kāi)發(fā)手機(jī)app是怎么收費(fèi)
成都未來(lái)久開(kāi)發(fā)手機(jī)app是怎么收費(fèi)? 如今手機(jī)APP軟件應(yīng)用已經(jīng)成功滲透到我們生活中,而需要開(kāi)發(fā)手機(jī)APP的企業(yè)都會(huì)非常關(guān)注這個(gè)問(wèn)題:在成都企業(yè)開(kāi)發(fā)一個(gè)手機(jī)APP到底需要多少錢(qián)呢?下......
未來(lái)手機(jī)APP軟件開(kāi)發(fā)的方向是怎么樣的
隨著數(shù)量增加,對(duì)手機(jī)APP軟件開(kāi)發(fā)者來(lái)說(shuō),做到差異化越來(lái)越難。比如在照片分享、購(gòu)物、移動(dòng)聊天、本地活動(dòng)、電影、新聞等手機(jī)APP軟件類(lèi)別中,無(wú)論手機(jī)APP軟件開(kāi)發(fā)者選擇何種領(lǐng)域,都......
怎么選擇一個(gè)手機(jī)APP開(kāi)發(fā)公司
開(kāi)發(fā)手機(jī)APP是傳統(tǒng)公司進(jìn)行品牌宣傳,拓寬銷(xiāo)售渠道低成本獲取用戶(hù)的重要工具。但是現(xiàn)在APP開(kāi)發(fā)市場(chǎng)魚(yú)龍混雜,選錯(cuò)開(kāi)發(fā)公司不僅會(huì)給企業(yè)造成金錢(qián)和時(shí)間的損失,還會(huì)影響企業(yè)的發(fā)展進(jìn)......
安卓手機(jī)app開(kāi)發(fā)價(jià)格怎么計(jì)算
網(wǎng)站客服反饋,很多企業(yè)對(duì)“安卓手機(jī)app開(kāi)發(fā)價(jià)格怎么計(jì)算?”這個(gè)問(wèn)題尤為關(guān)注。尤其是一些沒(méi)有找外包公司開(kāi)發(fā)過(guò)APP的客戶(hù),很多一上來(lái)直接就問(wèn)價(jià)格。要知道一個(gè)開(kāi)發(fā)一個(gè)app所需要的人......