iPad Safari事件处理程序问题
可以说我有一个包含多行的框/表。这些行是可拖动的。
现在我有一个JS,我已经为touchstart,touchmove,touchend实现了iPad的事件处理程序....基本上,他们只是将这些事件映射到相应的鼠标事件,如mouseover,mousedown,mouseup等
这是我的问题;
虽然我可以从表中拖动任何行,但我也希望能够滚动它。 当我按下屏幕上的任何手指并向下拖动时,它会为该行执行拖动操作(因为我使用touch.motion.preventDefault()来防止默认滚动区域)。
现在我明白了,我不能同时使用单个手指进行动作(拖动/滚动)。所以我想在使用双指时实现/进行滚动动作。(另一种情况,即对于单指,它应该做拖动动作)
现在我知道event.touches.length / event.targetTouches.length在屏幕上不会显示任何手指,我不知道如何使用它来执行滚动操作......就像参考一样,这个滚动类似于我们在iPad上获得了固定高度div滚动(溢出:自动),iPad提供了开箱即用的功能。
谢谢。
稍后您可以触发preventDefault,并可以选择。 确定您是否首先需要定制/拖动行为。
像这样:(我不知道这个确切的代码是否可以工作,因为我现在无法测试它,假设你使用jQuery,并且我不知道手指数量的事件属性,只是给你一个想法:)
$('#SomeElement').TouchMove(
function(e)
{
if( /* number of fingers equals one */ )
{
e.preventDefault()
//more element-drag code could go here
return;
}
}
);
链接地址: http://www.djcxy.com/p/17119.html