手機端html5觸屏事件(touch事件)


touchstart:觸摸開始的時候觸發

touchmove:手指在屏幕上滑動的時候觸發

touchend:觸摸結束的時候觸發

而每個觸摸事件都包括了三個觸摸列表,每個列表里包含了對應的一系列觸摸點(用來實現多點觸控):

touches:當前位於屏幕上的所有手指的列表。

targetTouches:位於當前DOM元素上手指的列表。

changedTouches:涉及當前事件手指的列表。

每個觸摸點由包含了如下觸摸信息(常用):

identifier:一個數值,唯一標識觸摸會話(touch session)中的當前手指。一般為從0開始的流水號(android4.1,uc)

target:DOM元素,是動作所針對的目標。

pageX/pageX/clientX/clientY/screenX/screenY:一個數值,動作在屏幕上發生的位置(page包含滾動距離,client不包含滾動距離,screen則以屏幕為基准)。 

radiusX/radiusY/rotationAngle:畫出大約相當於手指形狀的橢圓形,分別為橢圓形的兩個半徑和旋轉角度。初步測試瀏覽器不支持,好在功能不常用,歡迎大家反饋。

 

 
var  obj = document.getElementByIdx_x( '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 );

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM