我已经实现了一个TabbarController,用户可以在其中滑动不同的标签。我通过添加'touchstart','touchmove'和amp;来实现这一目标。 'touchend'事件。所有选项卡都有一个可水平滚动的元素,滚动时会导致在父级上调用“touchmove”,这会导致父级和子级同时滚动。是否可以将滚动限制为子/限制触摸事件从子节点传递给父节点?
我尝试在父div上使用'overflow:hidden',并尝试在触摸事件中使用'prevendefault()'。
答案 0 :(得分:0)
我终于写了一个解决方案来迎合我的问题。当Event回调传播回添加了侦听器的Parent元素时,我遍历DOM对象以检查子元素的可滚动区域。 如果当前触摸的孩子具有可滚动内容,则不会为父母处理触摸事件。
var element:HTMLElement = event.target;
var cancel:boolean = false;
while (element && element.parentElement){
if (element.scrollWidth > element.clientWidth){
cancel = true;
break;
}
element = element.parentElement;
}