將h5開發(fā)的頁面作為一個網(wǎng)址供安卓和ios調(diào)用。在ios上遇到了一些bug,現(xiàn)在簡單總結(jié)一下。
1,當(dāng)使用委托給一個元素添加click事件時,如果事件是委托到 document 或 body 上,并且委托的元素是默認(rèn)不可點(diǎn)擊的(如 div, span 等),此時 click 事件會失效。
解決辦法有 4 種可供選擇
  1,?將 click 事件直接綁定到目標(biāo)?元素(??即 .target)上
  2, 將目標(biāo)?元素?fù)Q成 <a> 或者 button 等可點(diǎn)擊的?元素
  3,?將 click 事件委托到?????非 document 或 body 的??父級元素上
4,給?目標(biāo)元素加一條樣式規(guī)則 cursor:pointer; 應(yīng)用最多的就是增加該CSS 樣式。
2, IOS中input鍵盤事件keyup、keydown、keyPRess支持不是很好
用input search做模糊搜索的時候,在鍵盤里面輸入關(guān)鍵詞,會通過Ajax后臺查詢,然后返回數(shù)據(jù),然后再對返回的數(shù)據(jù)進(jìn)行關(guān)鍵詞標(biāo)紅。用input監(jiān)聽鍵盤keyup事件,在安卓手機(jī)瀏覽器中是可以的,但是在ios手機(jī)瀏覽器中變紅很慢,用輸入法輸入之后,并未立刻相應(yīng)keyup事件,只有在通過刪除之后才能相應(yīng)!
$(".maintain_trCount").on("input",function(){});;
3,input type=file打不開相冊或者閃退
因?yàn)橄到y(tǒng)彈出alertview的時候我們的根控制器不是當(dāng)前所在的控制器。重新指定當(dāng)前窗口的根控制器為tabBarController就可以了。
4,input type=number作為網(wǎng)頁混合開發(fā)時,在ios上不僅無效,可以輸入各種非法字符,如中文等等,而且使用jquery 取val值還為空。所以可以用
input type=text代替。并用正則進(jìn)行驗(yàn)證
//禁止輸入除了數(shù)字和.以外的字符if(/[^(/d||.)]/g.test(value)){alert("您輸入了非法字符");if(value.length==1){value="";$this.val(value);}else if(value.length>=2){value=value.substring(0,value.length-1);$this.val(value);}return;}// 只能輸入一個.if(/[.](/d)*/.+/g.test(value)){common_alert("只能輸入一個.");value=value.substring(0,value.length-1);$this.val(value);return;}
5,input 的樣式,需要設(shè)置為,height 與font-size,line-height等高,并用padding值撐起來,否則會出現(xiàn)光標(biāo)偏大或者錯位的現(xiàn)象
| 
 
 | 
新聞熱點(diǎn)
疑難解答
圖片精選