地铁应用程序是否有内置的长按事件?可能不使用任何外部库,例如 jQuery。
问问题
499 次
1 回答
5
你的意思是点击并按住触摸手势吗?如果是这样,则事件是 MSGestureHold,但您必须配置一个 MSGesture 对象来获取这些:
var gestureObject = new MSGesture();
gestureObject.target = divElement;
divElement.gestureObject = gestureObject;
divElement.addEventListener("pointerdown", pointerDown);
divElement.addEventListener("MSGestureHold", gestureHold);
function pointerDown(e) {
//Associate this pointer with the target's gesture
e.target.gestureObject.addPointer(e.pointerId);
}
function gestureHold(e) {
//Do what you need.
}
您对 MSGestureTap 事件使用相同的结构,对其他触摸交互使用 MSGestureStart、MSGestureChange、MSGestureEnd 和 MSInertiaStart。也就是说,在创建了 MSGesture 事件并处理了 pointerdown 以将指针与手势相关联之后,您只需为其他 MSGesture* 事件添加侦听器,如上所示的 MSGestureHold。
在我的第二版预览书第 12 章的配套内容中,我有一段基本的代码(来自 MSPress)。这是一个名为 PointerEvents 的示例。
于 2013-11-13T17:07:24.913 回答