使用微信內(nèi)置瀏覽器點(diǎn)擊下拉框出現(xiàn)頁面亂跳轉(zhuǎn)現(xiàn)象(iphone),該怎么辦
相關(guān)閱讀:微信支付如何實(shí)現(xiàn)內(nèi)置瀏覽器的H5頁面支付
情景再現(xiàn):
正當(dāng)開心地收拾東西準(zhǔn)備下班的時(shí)候,測試部的姑娘跑過來提了一個(gè)bug: “在iphone下,點(diǎn)擊下拉框出現(xiàn)頁面亂跳轉(zhuǎn)現(xiàn)象,安卓機(jī)并沒有這個(gè)問題。而跳轉(zhuǎn)的頁面剛好是底部菜單的幾個(gè)頁面?!庇捎陧?xiàng)目比較急,小編只能乖乖留下解決問題。再次測試之后,小編逐一排查了可能性原因(正式版和測試版代碼不一致,頁面HTML代碼錯(cuò)亂,css代碼錯(cuò)誤),但都未能解決問題。一個(gè)簡單的select,怎么就出現(xiàn)問題了呢?百思不得其解。(至今也沒有找到問題根源)
找不出問題根源,只能先看看有沒有解決方案。經(jīng)過多次調(diào)試,捕獲select動(dòng)作,找到了一個(gè)解決方案。原理很簡單:利用div來模擬select。
解決方案:
思路也是比較清晰的。頁面中有兩個(gè)html結(jié)構(gòu),一是select代碼照常寫(一開始處于隱藏狀態(tài)display:none),二是被模擬的div(一開始處于顯示狀態(tài)),當(dāng)點(diǎn)擊div時(shí)出現(xiàn)select下拉框,同時(shí)將讀取的option值給被模擬的div,其模擬核心代碼可下載VisualSelect.js
html代碼
<div class=”visualSelect” >商行</div> <select class=”round” style=”display:none;”> <option value=”1”>國股</option> <option value=”2”>商行</option> <option value=”3”>其他</option> </select>
css代碼
.round { border-radius: 4px;} .visualSelect { width: 100%; padding: .45rem .5rem .25rem .75rem; margin-bottom: .875rem; border: 1px solid #ddd; border-radius: 4px; color: #bbb; }
js代碼
注:由于該問題只存在于部分iphone,android手機(jī)并沒有問題,因此最好判斷機(jī)型。
var agent = navigator.userAgent; if ( agent.indexOf(“iPhone”) > -1) { $(“select”).VisualSelect(); //調(diào)用插件即可 }
PS:bootstrap滾動(dòng)監(jiān)聽在iPhone微信內(nèi)置的瀏覽器上有時(shí)有效果有時(shí)沒有
bootstrap寫了一個(gè)affix的附加導(dǎo)航(導(dǎo)航條在左邊,數(shù)據(jù)在右邊,分成的兩列),在安卓手機(jī)的微信內(nèi)置瀏覽器上滾動(dòng)監(jiān)聽是正常的,但是在iPhone微信的內(nèi)置瀏覽器上有時(shí)可以監(jiān)聽有時(shí)不能監(jiān)聽,這是什么原因?
解決方案:
出現(xiàn)這個(gè)原因是用HTML5寫的網(wǎng)頁,iPhone沒有及時(shí)響應(yīng)導(dǎo)致的,最好用jQuery mobile。
相關(guān)文章
jquerydom對象的事件隱藏顯示和對象數(shù)組示例
本文為大家介紹下jquery的dom對象的事件隱藏顯示和對象數(shù)組,感興趣的朋友可以參下2013-12-12jquery點(diǎn)擊回車鍵實(shí)現(xiàn)登錄效果并默認(rèn)焦點(diǎn)的方法
下面小編就為大家分享一篇jquery點(diǎn)擊回車鍵實(shí)現(xiàn)登錄效果并默認(rèn)焦點(diǎn)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03jQuery EasyUI API 中文文檔 - Dialog對話框
jQuery EasyUI API 中文文檔 - Dialog對話框使用說明,需要的朋友可以參考下。2011-11-11

jQuery實(shí)現(xiàn)的事件綁定功能基本示例

jQuery增加和刪除表格項(xiàng)目及實(shí)現(xiàn)表格項(xiàng)目排序的方法

Jquery創(chuàng)建一個(gè)層當(dāng)鼠標(biāo)移動(dòng)到層上面不消失效果