[英]iPad Safari Event Handler
假设我有一个包含多行的框/表。这些行是可拖动的。
现在我有一个 JS,我在其中为 iPad 实现了 touchstart、touchmove、touchend 的事件处理程序......基本上他们只是 map 这些事件与相应的鼠标事件,如 mouseover、mousedown、mouseup 等
现在这是我的问题;
虽然我可以从表格中拖动任何行,但我也希望能够滚动它。 当我在屏幕上按下任何手指并向下拖动时,它会对该行执行拖动操作(因为我使用event.preventDefault()
进行 touchmove 以防止默认滚动区域)。
现在我明白了,我不能同时使用单指进行操作(拖动/滚动)。所以我想在使用两指时实现/进行滚动操作。(另一种情况,即单指,它应该做拖动动作)
现在我知道event.touches.length
/ event.targetTouches.length
在屏幕上没有手指,我不知道如何使用它来执行滚动操作......就像仅供参考一样,这种滚动类似于我们在 iPad 上获得的用于固定高度 div 滚动 ( overflow:auto
),iPad 提供了开箱即用的功能。
您可以稍后触发 preventDefault ,也可以选择触发。 首先确定是否需要自定义/拖动行为。
像这样的东西:(我不知道这个确切的代码是否可以工作,因为我现在无法测试它,这假设你使用 jQuery,我不知道手指数量的事件属性,但只是为了给你一个想法:)
$('#SomeElement').TouchMove(
function(e)
{
if( /* number of fingers equals one */ )
{
e.preventDefault()
//more element-drag code could go here
return;
}
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.