html5手機觸屏touch事件介紹

本文主要介紹html5手機觸屏touch事件,簡單舉例,需要的朋友可以參考下。

HTML5中新添加了很多事件,但是由於他們的兼容問題不是很理想,應用實戰性不是太強,所以在這裏基本省略,咱們只分享應用廣泛兼容不錯的事件,日後隨着兼容情況提升以後再陸續添加分享。

今天爲大家介紹的事件主要是觸摸事件:

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);

以上就是html5手機觸屏touch事件的全部內容,希望能給大家一個參考,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章