2012-09-18 31 views

回答

1

这将添加事件处理程序:

document.getElementById('divId').addEventListener('mspointermove', handler, false); 

那么你就必须认识到,如果它是一个触摸事件或鼠标事件。

function handler(event) { 
    if (eventObject.pointerType === 2) { 
     // touch event 
    } 
} 

这是触摸事件的complete guide。 msgesturestart/change/end可能是你想要使用的。

+0

谢谢,我想这已经,正是我想要的是我有一个日历,对我有一个显示月份并有两个按钮的左侧栏。现在通过点击按钮并调用nextmonth()函数来显示下个月,同样我想用触摸手势来做,就像当你刷新月份时应该改变下个月()应该被调用。 – Shavez

+0

@ user1680197我已经编辑完整指南的帖子。 –

0

您需要使用WinRT的完整手势识别器功能才能获得最佳体验。 MSDN已完全通过示例here。这将允许您抓取DIV的操作并适当地处理它。简单的步行是here。请注意,需要:

  1. 创建MSGesture对象
  2. 捕捉MSPointerDown,指针ID添加到1

另外一个考虑创建手势的实例是看你的经验和考虑是否使用mandatory snap points,并且滚动条中的多个项目可能适合您的体验。

一些示例代码:

<div id="touchMe" style="width:500px; height: 500px; background-color: yellow; "></div> 

的JavaScript,运行时TOUCHME可用:

var v = document.getElementById("touchMe"); 
v.addEventListener("MSGestureStart", function() { 
    console.log("foo"); 
}); 

var gestureThing = new MSGesture(); 
gestureThing.target = v; 
v.dooHicker = gestureThing; 

v.addEventListener("MSPointerDown", function (e) { 
    gestureThing.addPointer(e.pointerId); 
    console.log("down"); 
}); 

v.addEventListener("click", function() { 
    console.log("click"); 
}); 
+0

我试过以下代码: this.element.querySelector(“.bartouch”)。addEventListener(“MSGestureStart”,function(){ that.nextMonth(); });并试图MSPointerUp和MSPointerDown也没有帮助.. – Shavez

+0

看看我的编辑。 –

+0

嗨thanx多米尼克...你能解释一下这段代码会做什么.. – Shavez

相关问题