轉自: http://hi.baidu.com/masaiui/item/971775e8b316238bc10d754bandroid
參考: http://hedgehogking.com/?p=556web
最近在開發手機端WEB2.0網站。轉載一個留着備用瀏覽器
touchstart:觸摸開始的時候觸發session
touchmove:手指在屏幕上滑動的時候觸發ide
touchend:觸摸結束的時候觸發測試
而每一個觸摸事件都包括了三個觸摸列表,每一個列表裏包含了對應的一系列觸摸點(用來實現多點觸控):網站
touches:當前位於屏幕上的全部手指的列表。ui
targetTouches:位於當前DOM元素上手指的列表。spa
changedTouches:涉及當前事件手指的列表。code
每一個觸摸點由包含了以下觸摸信息(經常使用):
identifier:一個數值,惟一標識觸摸會話(touch session)中的當前手指。通常爲從0開始的流水號(android4.1,uc)
target:DOM元素,是動做所針對的目標。
pageX/pageX/clientX/clientY/screenX/screenY:一個數值,動做在屏幕上發生的位置(page包含滾動距離,client不包含滾動距離,screen則以屏幕爲基準)。
radiusX/radiusY/rotationAngle:畫出大約至關於手指形狀的橢圓形,分別爲橢圓形的兩個半徑和旋轉角度。初步測試瀏覽器不支持,好在功能不經常使用,歡迎你們反饋。
/*單指拖動*/ var obj = document.getElementById('id'); obj.addEventListener('touchmove', function(event) { // 若是這個元素的位置內只有一個手指的話 if (event.targetTouches.length == 1) { event.preventDefault();// 阻止瀏覽器默認事件,重要 var touch = event.targetTouches[0]; // 把元素放在手指所在的位置 obj.style.left = touch.pageX-50 + 'px'; obj.style.top = touch.pageY-50 + 'px'; } }, false);