繁体   English   中英

iPad Safari 事件处理程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM