2010-11-24 69 views
1

我在iPad上的Safari上运行了一个移动Web应用程序。Mobile Safari touch事件捕获问题

看来,即使网页的大小适合屏幕,拖动页面仍然会使其部分滚动屏幕。

我的计划一直是阻止任何其他方式无法处理触摸事件做任何事情:

document.addEventHandler('touchstart', do_nothing, false); 

function do_nothing(event) { 
    event.preventDefault(); 
} 

注意最后false参数 - 这是应该告诉处理程序只能在事件工作冒泡模式,而不是拍摄模式。特定元素上的触摸事件仍应按预期触发。

This does防止滚动。但是它也可以防止任何事件到达页面。任何人都可以提出一个解决方案,阻止默认页面滚动操作,同时不阻止点击?

回答

1

解决方案似乎是在touchmove而不是touchstart事件上注册空处理程序。