欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript移動開發(fā)中touch觸摸事件詳解

 更新時間:2016年03月18日 16:08:09   作者:Big_Dot  
這篇文章主要為大家詳細介紹了javascript移動開發(fā)中touch觸摸事件,感興趣的小伙伴們可以參考一下

事件對象是用來記錄一些事件發(fā)生時的相關(guān)信息的對象。事件對象只有事件發(fā)生時才會產(chǎn)生,并且只能是事件處理函數(shù)內(nèi)部訪問,在所有事件處理函數(shù)運行結(jié)束后,事件對象就被銷毀!

  • W3C DOM把事件對象作為事件處理函數(shù)的第一個參數(shù)傳入進去
  • IE將事件對象作為window對象的一個屬性(相當(dāng)于全局變量)

originalEvent對象

在一次偶然的使用中,我發(fā)現(xiàn)當(dāng)使用on()函數(shù)并且傳入第二個選擇器參數(shù)時,e.touches[0]的訪問為undefined,打印e發(fā)現(xiàn),它的事件對象不是原生的事件對象。經(jīng)查閱發(fā)現(xiàn)它是jquery事件對象。

$(window).on("touchstart","body",function(e){
  console.log(e)
})

上面例子中event中有一個originalEvent屬性,而這才是真正的touch事件。jQuery.Event 是一個構(gòu)造函數(shù),其創(chuàng)建一個可讀寫的jQuery事件對象,并在event 對象保留了對這個原生事件對象 event 的引用($event.originalEvent)。我們綁定的事件處理程序所處理的事件對象都是 $event。該方法也可以傳遞一個自定義事件的類型名,用于生成用戶自定義事件對象。

touch事件

touchmove: 當(dāng)手指在屏幕上滑動的時候連續(xù)地觸發(fā)。
touchstart: 當(dāng)手指觸摸屏幕時候觸發(fā),即使已經(jīng)有一個手指放在屏幕上也會觸發(fā)
touchend: 當(dāng)手指從屏幕上離開的時候觸發(fā)。

TouchEvent對象

每一個touch事件的觸發(fā)都會產(chǎn)生一個TouchEvent對象,以下是TouchEvent對象三個比較常用的重要屬性

touches 當(dāng)前位于屏幕上的所有手指的一個列表。
targetTouches 特定于事件目標(biāo)的Touch對象的數(shù)組。[當(dāng)前手指]
changeTouches 表示自上次觸摸以來發(fā)生了什么改變的Touch對象的數(shù)組。

在這里,我用js寫了一個touch事件,點擊屏幕可觸發(fā),將其事件事件對象在控制臺打印出,結(jié)果如下(箭頭指向的是上述三個屬性):

window.addEventListener("touchstart",function(event){
  console.log(event);
})

觸摸事件對象屬性

touches、targetTou、changeTouches都包含以下屬性值

clientX:觸摸目標(biāo)在視口中的x坐標(biāo)。
clientY:觸摸目標(biāo)在視口中的y坐標(biāo)。
identifier:標(biāo)識觸摸的唯一ID。
pageX:觸摸目標(biāo)在頁面中的x坐標(biāo)。
pageY:觸摸目標(biāo)在頁面中的y坐標(biāo)。
screenX:觸摸目標(biāo)在屏幕中的x坐標(biāo)。
screenY:觸摸目標(biāo)在屏幕中的y坐標(biāo)。
target:觸摸的DOM節(jié)點目標(biāo)。
還是上面的那個例子,changeTouches對象在控制臺輸出如下:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • javascript實現(xiàn)左右緩動動畫函數(shù)

    javascript實現(xiàn)左右緩動動畫函數(shù)

    這篇文章主要為大家詳細介紹了javascript實現(xiàn)左右緩動動畫函數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • JavaScript Serializer序列化時間處理示例

    JavaScript Serializer序列化時間處理示例

    JavaScriptSerializer序列化時間后會把時間序列化成N進制的鬼數(shù)據(jù) ,下面有個示例,需要的朋友可以了解下
    2014-07-07
  • js中關(guān)于一個分號的崩潰示例

    js中關(guān)于一個分號的崩潰示例

    下面的js代碼不管if條件的結(jié)果是true還是false都會執(zhí)行大括號的代碼,結(jié)果發(fā)現(xiàn)if條件括號后面多寫了分號,崩潰啊
    2013-11-11
  • JS自定義滾動條效果簡單實現(xiàn)代碼

    JS自定義滾動條效果簡單實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了JS自定義滾動條效果的簡單實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • JavaScript 總結(jié)幾個提高性能知識點(推薦)

    JavaScript 總結(jié)幾個提高性能知識點(推薦)

    下面小編就為大家?guī)硪黄狫avaScript 總結(jié)幾個提高性能知識點(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 使用Web?Component實現(xiàn)防篡改水印

    使用Web?Component實現(xiàn)防篡改水印

    Web?Component內(nèi)部有鉤子天然支持被篡改時被觸發(fā),用來防篡改非常方便,所以本文就將使用Web?Component實現(xiàn)防篡改水印,感興趣的小伙伴可以了解下
    2023-12-12
  • 最新評論