1.问题描述
假如页面上有两个元素A和B。B元素在A元素之上。我们在B元素的touchstart事件上注册了一个回调函数,该回调函数的作用是隐藏B元素。我们发现,当我们点击B元素,B元素被隐藏了,随后,A元素触发了click事件。
这是因为在移动端浏览器,事件执行的顺序是touchstart > touchend > click。而click事件有300ms的延迟,当touchstart事件把B元素隐藏之后,隔了300ms,浏览器触发了click事件,但是此时B元素不见了,所以该事件被派发到了A元素身上。如果A元素是一个链接,那此时页面就会意外地跳转。
可以采用fastclick插件避免上述问题
2、iscroll遇到的问题
1.内容有的不可以点击
new IScroll('#content-wrapper',{preventDefault:false});
2.滚动div的设置
//容器
#content-wrapper {
border-top: 2px #FD5900 solid;
position: relative;
}
//滚动容器
.content-scroll {
position: absolute;
-webkit-transform:translate3d(0,0,0);
width: 100%;
min-height: 100.1%;
}
3.每次增加一个新的dom需要
myScroll.refresh();//跟新dom