久久久不卡国产精品一区二区,国产亚洲欧美精品久久久 ,黑人粗进入欧美,九九爱www免费人成视频,久久久久久久久久久

FASTGPT 喵言AI 續(xù)費(fèi)系統(tǒng)
當(dāng)前位置:
首頁 / 資訊 / 技術(shù)文章

移動(dòng)端點(diǎn)透問題該怎么處理?

2018-04-21深圳網(wǎng)站建設(shè)公司網(wǎng)聯(lián)科技發(fā)布者:平臺(tái)


在移動(dòng)端開發(fā)過程中,難免會(huì)出現(xiàn)點(diǎn)透問題。

那么什么是點(diǎn)透?

如下圖所示:



B元素上有半透明紅色遮蓋層A,黃色B元素內(nèi)有可點(diǎn)擊鏈接C。在移動(dòng)端,點(diǎn)擊事件通常采用touch相關(guān)事件來獲取高效率。在點(diǎn)擊遮蓋層A的時(shí)候,touch事件觸發(fā)使得A遮蓋層隱藏,而黃色B元素內(nèi)有可點(diǎn)擊鏈接C在遮蓋層隱藏之后被點(diǎn)擊,觸發(fā)click跳轉(zhuǎn)到c鏈接對(duì)應(yīng)的頁面,這就是移動(dòng)端點(diǎn)透問題發(fā)生的一種典型情況。往往這種結(jié)果都不是我們想要的。

哪些情況下會(huì)出現(xiàn)移動(dòng)端點(diǎn)透問題?

1.A/B兩個(gè)層上下z軸重疊。

2.上層的A點(diǎn)擊后消失或移開。(這一點(diǎn)很重要)

3.B元素本身有默認(rèn)click事件(如a標(biāo)簽) B綁定了click事件。

為甚么會(huì)出現(xiàn)點(diǎn)透問題?

在這里就跟網(wǎng)聯(lián)科技小編一起捋一捋移動(dòng)端點(diǎn)擊事件的先后順序問題吧!

事件的觸發(fā)時(shí)間按由早到晚排列為:touchstart 早于 touchend 早于 click。

當(dāng)手指觸摸到屏幕的時(shí)候,系統(tǒng)生成兩個(gè)事件,一個(gè)是touch 一個(gè)是clicktouch先執(zhí)行,touch執(zhí)行完成后,A遮蓋層從文檔樹上面消失了,而且由于移動(dòng)端click還有延遲200-300ms的關(guān)系,當(dāng)系統(tǒng)要觸發(fā)click的時(shí)候,發(fā)現(xiàn)在用戶點(diǎn)擊的位置上面,目前離用戶最近的黃色元素B,所以就直接把click事件作用在B元素上面了.

點(diǎn)透問題解決方案:

方案一:

網(wǎng)聯(lián)科技小編小個(gè)人最推薦的是統(tǒng)一代碼風(fēng)格,在對(duì)點(diǎn)擊時(shí)效沒有高要求的情況,建議事件統(tǒng)一使用click事件,對(duì)于非游戲開發(fā)的情況,click的時(shí)間延遲能夠給人更好的過度體驗(yàn)。

方案二:

對(duì)時(shí)效性要求高的情況下,如果b元素并沒有默認(rèn)的click事件的情況(沒有a鏈接),統(tǒng)一使用touch事件,更有利于用戶反應(yīng)速度上的體驗(yàn)。

方案三:

來得很直接github上有個(gè)fastclick可以完美解決
引入fastclick.js,因?yàn)?/span>fastclick源碼不依賴其他庫所以你可以在原生的js前直接加上
window.addEventListener( "load", function() {
FastClick.attach( document.body );
}, false );
或者有zepto或者jqmjs里面加上
$(function() {
FastClick.attach(document.body);
});
當(dāng)然require的話就這樣:
var FastClick = require(
fastclick);
FastClick.attach(document.body, options);

了解更多網(wǎng)站建設(shè)知識(shí)

掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待您的聲音

解答:網(wǎng)站建設(shè)、APP開發(fā)、小程序開發(fā)

網(wǎng)聯(lián)科技是一家以提供網(wǎng)站建設(shè)、APP、小程序開發(fā)、CRM系統(tǒng)開發(fā)為主的互聯(lián)網(wǎng)開發(fā)公司。以客戶需求為導(dǎo)向,客戶利益為出發(fā)點(diǎn),結(jié)合自身設(shè)計(jì)及專業(yè)建站優(yōu)勢,為客戶提供從基礎(chǔ)建設(shè)到營銷推廣的一整套解決方案,探索并實(shí)現(xiàn)客戶商業(yè)價(jià)值較大化,為所有謀求發(fā)展的企業(yè)貢獻(xiàn)全部力量。

網(wǎng)聯(lián)科技微信公眾號(hào)

相關(guān)信息