html5手機(jī)觸屏touch事件介紹
HTML5中新添加了很多事件,但是由于他們的兼容問題不是很理想,應(yīng)用實(shí)戰(zhàn)性不是太強(qiáng),所以在這里基本省略,咱們只分享應(yīng)用廣泛兼容不錯(cuò)的事件,日后隨著兼容情況提升以后再陸續(xù)添加分享。
今天為大家介紹的事件主要是觸摸事件:
touchstart:觸摸開始的時(shí)候觸發(fā)
touchmove:手指在屏幕上滑動(dòng)的時(shí)候觸發(fā)
touchend:觸摸結(jié)束的時(shí)候觸發(fā)
而每個(gè)觸摸事件都包括了三個(gè)觸摸列表,每個(gè)列表里包含了對(duì)應(yīng)的一系列觸摸點(diǎn)(用來實(shí)現(xiàn)多點(diǎn)觸控):
touches:當(dāng)前位于屏幕上的所有手指的列表。
targetTouches:位于當(dāng)前DOM元素上手指的列表。
changedTouches:涉及當(dāng)前事件手指的列表。
每個(gè)觸摸點(diǎn)由包含了如下觸摸信息(常用):
identifier:一個(gè)數(shù)值,唯一標(biāo)識(shí)觸摸會(huì)話(touch session)中的當(dāng)前手指。一般為從0開始的流水號(hào)(android4.1,uc)
target:DOM元素,是動(dòng)作所針對(duì)的目標(biāo)。
pageX/pageX/clientX/clientY/screenX/screenY:一個(gè)數(shù)值,動(dòng)作在屏幕上發(fā)生的位置(page包含滾動(dòng)距離,client不包含滾動(dòng)距離,screen則以屏幕為基準(zhǔn))。
radiusX/radiusY/rotationAngle:畫出大約相當(dāng)于手指形狀的橢圓形,分別為橢圓形的兩個(gè)半徑和旋轉(zhuǎn)角度。初步測(cè)試瀏覽器不支持,好在功能不常用,歡迎大家反饋。
復(fù)制代碼 代碼如下:var obj = document.getElementByIdx_x("id");
obj.addEventListener("touchmove", function(event) {
// 如果這個(gè)元素的位置內(nèi)只有一個(gè)手指的話
if (event.targetTouches.length == 1) {
event.preventDefault();// 阻止瀏覽器默認(rèn)事件,重要
var touch = event.targetTouches[0];
// 把元素放在手指所在的位置
obj.style.left = touch.pageX-50 + "px";
obj.style.top = touch.pageY-50 + "px";
}
}, false);
以上就是html5手機(jī)觸屏touch事件的全部內(nèi)容,希望能給大家一個(gè)參考,也希望大家多多支持。
相關(guān)文章:
1. 移動(dòng)端HTML5實(shí)現(xiàn)拍照功能的兩種方法2. vue中touch和click共存的解決方式3. php 使用html5 XHR2實(shí)現(xiàn)上傳文件與進(jìn)度顯示功能示例4. flappy bird游戲源代碼揭秘和下載 —— 可運(yùn)行于android、ios和html5多平臺(tái)5. 解決vue的touchStart事件及click事件沖突問題6. HTML5視頻播放標(biāo)簽video和音頻播放標(biāo)簽audio標(biāo)簽的正確用法7. javascript實(shí)現(xiàn)移動(dòng)端 HTML5 圖片上傳預(yù)覽和壓縮功能示例8. Android Touch事件傳遞機(jī)制通俗講解9. 關(guān)于HTML5的img標(biāo)簽10. php 下 html5 XHR2 + FormData + File API 上傳文件操作實(shí)例分析
