Javascript MSS手势,在metro style应用程序中向不同方向滑动
我的这段代码可以很好地用于手指滑动手势,也就是说,如果我滑动手指,它将触发事件并调用nextMonth()函数。现在有什么方法可以检查我是否向上和向下滑动,以便在两个不同的手势上调用两种不同的方法Javascript MSS手势,在metro style应用程序中向不同方向滑动,javascript,microsoft-metro,winjs,Javascript,Microsoft Metro,Winjs,我的这段代码可以很好地用于手指滑动手势,也就是说,如果我滑动手指,它将触发事件并调用nextMonth()函数。现在有什么方法可以检查我是否向上和向下滑动,以便在两个不同的手势上调用两种不同的方法 var myGesture = new MSGesture(); var v = this.element.querySelector(".bartouch"); myGesture.target = v;
var myGesture = new MSGesture();
var v = this.element.querySelector(".bartouch");
myGesture.target = v;
v.addEventListener("MSGestureEnd", handleListner,false);
v.addEventListener("MSPointerDown", handleListner, false);
function handleListner(evt) {
if (evt.type == "MSPointerDown")
{
myGesture.addPointer(evt.pointerId);
return;
}
that.nextMonth();
}
你有两个选择:
mspirture
,处理事件以计算用户手指的平移,并查看它们是否在正确的方向上。MSGestureChange
返回的事件对象包括translateX
和translateY
属性,这些属性告诉您用户的手指移动了多远。有一个详细的样本Windows.UI.Input.gestureRecognitizer
并使用手势对象上的将手势设置为X平移或Y平移。演示了如何做到这一点。它主要涉及创建GestureRecognizer类,并通过处理要查看其交互的DIV上的MSPointer[Down | Move | Up | Cancel]
DOM事件向其提供事件,并通过进程[Down | Move | Up]事件处理程序将它们传递给(共享)识别器实例
var hammerOptions = { swipeVelocityX: 0.1, swipeVelocityY: 0.1 };
Hammer(contentContainer, hammerOptions).on("swipeleft", function(event) { moveBlocksLeft(); });
Hammer(contentContainer, hammerOptions).on("swiperight", function(event) { moveBlocksRight(); });
Hammer(contentContainer, hammerOptions).on("swipeup", function(event) { moveBlocksUp(); });
Hammer(contentContainer, hammerOptions).on("swipedown", function(event) { moveBlocksDown(); });
其中
contentContainer
是一个包含内容的div,每个方向都有进一步处理手势的功能。您的Ball-Eight示例链接不起作用。是否有可能更新链接或链接到另一个示例,以演示您在2中概述的行为?