解決ios中的onclick失效的問題

前段時間筆者跟同事一起開發移動端H5界面,後來在測試時,發現一些界面的onclick事件在蘋果ios上不管用,因爲筆者跟同事之前一直做PC端開發,不太清楚怎麼回事,於是在網上找到如下幾種方案:

一.修改css方法

將綁定事件的span元素添加 z-index 跟cursor:pointer,這個沒管用

二.修改onclick的綁定

直接把onclick事件換成

$('span').on('tap',function(){})

後來才知道需要引入第三方纔能使用tap事件,我們引用了mui.js,(此處不要吐槽我們的技術棧,畢竟我們這個項目........哈哈)

三,最後的解決方案

$('body').on('tap','.map-tips-right',function(){
});

這個span元素是下圖地圖中的詳情

四.解決方案參考的內容

使用touch系列事件,但是touch系列事件有點擊穿透問題,解決方案如下

把頁面內所有的click全部全稱touch事件(touchstart,touchend,tap),需要特別注意a標籤,它的href也是click,需要去掉(href="####"或href="javascript:void(0)"),換成js控制跳轉,或者直接改成span+tap控制跳轉(這個是筆者提及的第三條我們應用的解決方案).如果要求不高,不在乎滑走或者滑進來觸發事件的話,使用span+touchend就可以了,畢竟tap需要引入第三方庫

ps:找不到第四所列的那篇文章鏈接, 在這謝謝那位作者o(* ̄︶ ̄*)o

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章