Metro应用程序是否有内置的长按事件?可能没有使用任何外部库,如jQuery。
答案 0 :(得分: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事件并处理指针向下以将指针与手势相关联之后,您可以为其他MSGesture *事件添加侦听器,如上面针对MSGestureHold所示。
我在second edition preview book的第12章(从MSPress中免费)的配套内容中有一段基本代码。这是一个名为PointerEvents的示例。