點(diǎn)擊按鈕 出現(xiàn)下拉框株憾,點(diǎn)擊其他區(qū)域隱藏蝙寨,剛開(kāi)始是這樣寫(xiě)的:
$(document).bind('click',function(){
$('#test').css('display','none');
});
在ios不兼容,原因是在ios中document ,body沒(méi)有click嗤瞎,所以沒(méi)效果墙歪。
百度都推薦用touch事件,但是我不想用:
js:
/*阻止冒泡*/
function stopPropagation(e) {
e = e || event;
if (e.stopPropagation)
e.stopPropagation();//停止冒泡 非ie
else
e.cancelBubble = true;//停止冒泡 ie
}
/*點(diǎn)擊按鈕贝奇,下拉區(qū)域顯示或隱藏*/
function navIcon(e){
$('.navBox').toggle(500);
stopPropagation(e);
}
/*點(diǎn)擊別的地方下拉框消失*/
/*app相當(dāng)于body里面唯一的子元素*/
document.getElementById("app").addEventListener('click',function (e) {
var parent=$(e.target).parents('.navIcon'); //navIcon為按鈕虹菲,觸發(fā)下拉區(qū)域
if(parent.length===0){
console.log('不在彈層與按鈕區(qū)');
//操作此區(qū)域
$('.navBox').hide(500); //下拉框區(qū)域隱藏
}else{
console.log('按鈕與彈層區(qū)')
}
});
在ios兼容 ,目前沒(méi)有發(fā)現(xiàn)問(wèn)題掉瞳,歡迎前來(lái)討論毕源。