地铁应用程序是否有内置的长按活动?可能不使用任何外部库(例如jQuery)。
最佳答案
您是指点击并按住触摸手势吗?如果是这样,则该事件为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所示。
我的second edition preview book(从MSPress免费获得)的第12章的随附内容中有一个基本的代码段。这是一个称为PointerEvents的示例。
关于windows-8 - 如何检测WinJS/Metro应用上的长按,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19958087/