2012-09-18 32 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

相關問題