html5構(gòu)建觸屏網(wǎng)站之touch事件介紹
來源:易賢網(wǎng) 閱讀:1243 次 日期:2016-07-23 14:16:11
溫馨提示:易賢網(wǎng)小編為您整理了“html5構(gòu)建觸屏網(wǎng)站之touch事件介紹”,方便廣大網(wǎng)友查閱!

前言

一個觸屏網(wǎng)站到底和傳統(tǒng)的pc端網(wǎng)站有什么區(qū)別呢,交互方式的改變首當(dāng)其沖。例如我們常用的click事件,在觸屏設(shè)備下是如此無力。

手機(jī)上的大部分交互都是通過touch來實(shí)現(xiàn)的,于是,對于觸屏的交互式網(wǎng)站,觸摸事件是相當(dāng)重要的。

Apple在iOS 2.0中引入了觸摸事件API,Android正迎頭趕上這一事實(shí)標(biāo)準(zhǔn),縮小差距。最近一個W3C工作組正合力制定這一觸摸事件規(guī)范。

規(guī)范

這里我們介紹幾種普及得比較好的觸摸事件,你可以在絕大多數(shù)現(xiàn)代瀏覽器中來測試這一事件(必須是觸屏設(shè)備哦):

touchstart:觸摸開始的時候觸發(fā)

touchmove:手指在屏幕上滑動的時候觸發(fā)

touchend:觸摸結(jié)束的時候觸發(fā)

而每個觸摸事件都包括了三個觸摸列表,每個列表里包含了對應(yīng)的一系列觸摸點(diǎn)(用來實(shí)現(xiàn)多點(diǎn)觸控):

touches:當(dāng)前位于屏幕上的所有手指的列表。

targetTouches:位于當(dāng)前DOM元素上手指的列表。

changedTouches:涉及當(dāng)前事件手指的列表。

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

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))?!?/P>

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

有了這些信息,我們就可以依據(jù)這些事件信息為用戶提供不同的反饋了。

下面,我將為大家展示一個小demo,用touchmove實(shí)現(xiàn)的單指拖動:

代碼如下:

/*單指拖動*/

var obj = document.getElementById('id');

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

關(guān)于a標(biāo)簽四個偽類在觸屏設(shè)備中的小技巧:

我們都知道a標(biāo)簽的四個偽類link,visited,active,hover是專為click事件設(shè)計(jì)的,所以在觸屏網(wǎng)站中盡量不要使用它們。經(jīng)測試大部分也是不可用的。但是這里有一個關(guān)于hover的小技巧,當(dāng)你點(diǎn)擊過一個按鈕之后,這個按鈕就會一直處于hover的狀態(tài),此時你基于這個偽類所設(shè)置的css也是起作用的,直到你用手指點(diǎn)擊另外一個按鈕,hover狀態(tài)就會轉(zhuǎn)移到另一個按鈕。利用這一點(diǎn),我們可以做出一些小效果。此技巧在大多數(shù)瀏覽器中還是可用的。

更多信息請查看網(wǎng)頁制作
易賢網(wǎng)手機(jī)網(wǎng)站地址:html5構(gòu)建觸屏網(wǎng)站之touch事件介紹
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)