document.onclick = function (e) { var e = e ? e : window.event; var tar = e.srcElement || e.target; if (tar.id != "searchData") { pagesZone.style.display = "none"; } }
以上代碼在電腦瀏覽器和安卓上都能觸發alert事件,但是在iOS上卻完全沒有反應。
如果這個name標簽是button的可click事件則是可以觸發的,因為div本身默認不可點擊 。
1、有一個解決方法是給這個元素添加css
.name{ curser:pointer; }
2、還可以將click改為touchstart事件,或者共存
$(document).on(“click touchstart”, “.name”, function() { alert(“name”); });
不過touch系列事件有點擊穿透問題,解決方案如下:
把頁面內所有click全部換成touch事件( touchstart 、’touchend’、’tap’), 需要特別注意 a標簽,a標簽的href也是click,需要去掉換成js控制的跳轉,或者直接改成span + tap控制跳轉。如果要求不高,不在乎滑走或者滑進來觸發事件的話,span + touchend就可以了,畢竟tap需要引入第三方庫。
