1.問題描述
假如頁面上有兩個(gè)元素A和B。B元素在A元素之上。我們?cè)贐元素的touchstart事件上注冊(cè)了一個(gè)回調(diào)函數(shù),該回調(diào)函數(shù)的作用是隱藏B元素。我們發(fā)現(xiàn),當(dāng)我們點(diǎn)擊B元素,B元素被隱藏了,隨后,A元素觸發(fā)了click事件。
這是因?yàn)樵谝苿?dòng)端瀏覽器,事件執(zhí)行的順序是touchstart > touchend > click。而click事件有300ms的延遲,當(dāng)touchstart事件把B元素隱藏之后,隔了300ms,瀏覽器觸發(fā)了click事件,但是此時(shí)B元素不見了,所以該事件被派發(fā)到了A元素身上。如果A元素是一個(gè)鏈接,那此時(shí)頁面就會(huì)意外地跳轉(zhuǎn)。
可以采用fastclick插件避免上述問題
2、iscroll遇到的問題
1.內(nèi)容有的不可以點(diǎn)擊
new IScroll('#content-wrapper',{preventDefault:false});
2.滾動(dòng)div的設(shè)置
//容器
#content-wrapper {
border-top: 2px #FD5900 solid;
position: relative;
}
//滾動(dòng)容器
.content-scroll {
position: absolute;
-webkit-transform:translate3d(0,0,0);
width: 100%;
min-height: 100.1%;
}
3.每次增加一個(gè)新的dom需要
myScroll.refresh();//跟新dom