html5手機(jī)觸屏touch事件介紹
HTML5中新添加了很多事件,但是由于他們的兼容問題不是很理想,應(yīng)用實戰(zhàn)性不是太強(qiáng),所以在這里基本省略,咱們只分享應(yīng)用廣泛兼容不錯的事件,日后隨著兼容情況提升以后再陸續(xù)添加分享。
今天為大家介紹的事件主要是觸摸事件:
touchstart:觸摸開始的時候觸發(fā)
touchmove:手指在屏幕上滑動的時候觸發(fā)
touchend:觸摸結(jié)束的時候觸發(fā)
而每個觸摸事件都包括了三個觸摸列表,每個列表里包含了對應(yīng)的一系列觸摸點(用來實現(xiàn)多點觸控):
touches:當(dāng)前位于屏幕上的所有手指的列表。
targetTouches:位于當(dāng)前DOM元素上手指的列表。
changedTouches:涉及當(dāng)前事件手指的列表。
每個觸摸點由包含了如下觸摸信息(常用):
identifier:一個數(shù)值,唯一標(biāo)識觸摸會話(touch session)中的當(dāng)前手指。一般為從0開始的流水號(android4.1,uc)
target:DOM元素,是動作所針對的目標(biāo)。
pageX/pageX/clientX/clientY/screenX/screenY:一個數(shù)值,動作在屏幕上發(fā)生的位置(page包含滾動距離,client不包含滾動距離,screen則以屏幕為基準(zhǔn))。
radiusX/radiusY/rotationAngle:畫出大約相當(dāng)于手指形狀的橢圓形,分別為橢圓形的兩個半徑和旋轉(zhuǎn)角度。初步測試瀏覽器不支持,好在功能不常用,歡迎大家反饋。
obj.addEventListener('touchmove', function(event) {
// 如果這個元素的位置內(nèi)只有一個手指的話
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)容,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Android的Touch事件處理機(jī)制介紹
- 淺談Android onTouchEvent 與 onInterceptTouchEvent的區(qū)別詳解
- sencha touch 模仿tabpanel導(dǎo)航欄TabBar的實例代碼
- javascript移動設(shè)備Web開發(fā)中對touch事件的封裝實例
- Android Touch事件分發(fā)過程詳解
- js的touch事件的實際引用
- Android中處理apple-touch-icon詳解
- js實現(xiàn)touch移動觸屏滑動事件
- 淺談javascript的Touch事件
- HTML5實戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)
相關(guān)文章
激發(fā)你的靈感:50個優(yōu)秀的Favicons
激發(fā)你的靈感:50個優(yōu)秀的Favicons...2007-02-02
多瀏覽器支持CSS 容器內(nèi)容超出(溢出)支持自動換行
完美支持IE,F(xiàn)irefox,Opera等瀏覽器。2008-12-12
Cookie的secure屬性引起單點登錄中的循環(huán)登錄問題
在實施單點登錄(SSO)時,可能會遇到循環(huán)登錄問題,導(dǎo)致用戶無法正常使用系統(tǒng),本文首先介紹了單點登錄的基本概念和實現(xiàn)原理,然后詳細(xì)分析了循環(huán)登錄的產(chǎn)生原因,主要是由于Cookie的Secure屬性設(shè)置不當(dāng),在使用HTTP訪問時Cookie無法被傳遞導(dǎo)致2024-09-09

