什么是觸屏事件?移動端的觸摸產(chǎn)生的一系列行為办龄;
在移動端烘绽,原生觸摸事件只有以下三種類型,其他所有的觸摸事件都是由這三種事件相結(jié)合產(chǎn)生的俐填,例如安接,上劃、下滑英融、左滑盏檐、右滑、雙擊等等驶悟;
這三種原生觸摸事件為:
touchstart(開始觸摸)胡野;
touchmove(觸摸過程中);
touchend(觸摸結(jié)束)撩银;
另外给涕,還有一個觸摸被系統(tǒng)取消的事件:touchcancel(由更高級的事件打斷當前正在執(zhí)行的移動端事件時,會觸發(fā)該事件额获,我們可以在這個事件中保存當前相關(guān)的觸碰事件操作的數(shù)據(jù)够庙,以保證用戶回到頁面后接著剛才斷開的位置繼續(xù)操作);
這里需要注意的是:移動端只能使用addEventListener方式添加事件抄邀。
下面介紹一下觸摸事件下的一些相關(guān)屬性
div.addEventListener('touchstart',function(e){
var touch = e.targetTouches[0];
console.log(touch);
})耘眨;
targetTouches:可獲取到事件對象下的觸摸點,該屬性是一個類數(shù)組的結(jié)構(gòu)境肾,同時觸發(fā)這個事件的手指有幾個剔难,則數(shù)組中就有幾個元素胆屿。觸摸點的相關(guān)坐標數(shù)據(jù)就存在這些對象中。
pageX\pageY:坐標系原點在頁面的左上角偶宫;
screenX\screenY:坐標系的原點在屏幕的左上角點(不包含操作系統(tǒng)在左上角的組件)非迹;
clientX\clientY:觸摸目標在視口中的坐標,原點在視口左上角(適口視用來展示html代碼的容器)纯趋;
targer:保存的是觸發(fā)事件的標簽憎兽,使用事件委托時可以通過該屬性獲取到觸發(fā)該事件的標簽對象;
identifier:ID值吵冒,唯一標示了手指觸摸點纯命,如果手指在屏幕上產(chǎn)生移動(如果有多個觸摸點,則可以根據(jù)這個id值跟蹤對應(yīng)的觸摸點)痹栖;
下面我們結(jié)合原生的觸摸事件亿汞,來實現(xiàn),判斷觸摸是向左還是向右:
其實在實際開發(fā)過程中,我們大多使用第三方類庫來實現(xiàn)移動端觸屏事件图甜,使用起來快捷方便碍粥,大大提高了開發(fā)效率;通常使用zepot模塊的touch.js黑毅,自認為zepot模塊是一個非常強大嚼摩,且功能齊全的第三方類庫,Zepto是一個輕量級的針對現(xiàn)代高級瀏覽器的JavaScript庫矿瘦,它與jquery有著類似的api枕面。 如果你會用jquery,那么你也會用zepto缚去。下面提供一個連接潮秘,大家可以學習學習,需要注意的是易结,要想使用zipto的touch類庫枕荞,要單獨對touch進行下載:
網(wǎng)站連接:www.css88.com/doc/zeptojs_api/
移動端觸摸事件介紹到這里,如果對您有所幫助的話搞动,請點贊并關(guān)注哦躏精,我會不定時的更新一下自己學習的經(jīng)驗以及見解,和大家進行交流鹦肿。
您贊就是是我最大的動力4V颉!箩溃!