最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

觸屏中的JavaScript事件分析

 更新時(shí)間:2015年02月06日 10:08:20   作者:kooky798  
這篇文章主要介紹了觸屏中的JavaScript事件,實(shí)例分析了觸屏事件的種類、原理與相關(guān)使用技巧,需要的朋友可以參考下

本文實(shí)例講述了觸屏中的JavaScript事件。分享給大家供大家參考。具體分析如下:

一、觸摸事件

ontouchstart
ontouchmove
ontouchend
ontouchcancel目前移動(dòng)端瀏覽器均支持這4個(gè)觸摸事件,包括IE。由于觸屏也支持MouseEvent,因此他們的順序是需要注意的:touchstart → mouseover → mousemove → mousedown → mouseup → click1

實(shí)例如下:

/**
* onTouchEvent
*/
var div = document.getElementById("div");
//touchstart類似mousedown
div.ontouchstart = function(e){
//事件的touches屬性是一個(gè)數(shù)組,其中一個(gè)元素代表同一時(shí)刻的一個(gè)觸控點(diǎn),
//從而可以通過touches獲取多點(diǎn)觸控的每個(gè)觸控點(diǎn)
//由于我們只有一點(diǎn)觸控,所以直接指向[0]
var touch = e.touches[0];
//獲取當(dāng)前觸控點(diǎn)的坐標(biāo),等同于MouseEvent事件的clientX/clientY
var x = touch.clientX;
var y = touch.clientY;
};
//touchmove類似mousemove
div.ontouchmove = function(e){
//可為touchstart、touchmove事件加上preventDefault從而阻止觸摸時(shí),
//瀏覽器的縮放、滾動(dòng)條滾動(dòng)等
e.preventDefault();
};
//touchend類似mouseup
div.ontouchup = function(e){
//nothing to do
};

二、手勢(shì)事件手勢(shì)是指利用多點(diǎn)觸控進(jìn)行旋轉(zhuǎn)、拉伸等操作,例如圖片、網(wǎng)頁的放大、旋轉(zhuǎn)。需要兩個(gè)或以上的手指同時(shí)觸摸時(shí)才會(huì)觸發(fā)手勢(shì)事件。關(guān)于縮放我們需要注意的一點(diǎn)是元素的位置坐標(biāo):我們通常使用offsetX、getBoundingClientRect等方法獲取元素的位置坐標(biāo),但在手機(jī)瀏覽器中頁面經(jīng)常會(huì)在使用中被縮放,那縮放后的元素坐標(biāo)會(huì)改變嗎?答案是有所差異。用一個(gè)情景來說明這個(gè)問題:頁面A加載完成后,JavaScript獲取到該元素在document中的坐標(biāo)為(100,100),接著用戶放大了頁面,此時(shí)用JavaScript再次輸出元素坐標(biāo),依然還是(100,100),但該元素在屏幕上的響應(yīng)區(qū)域會(huì)根據(jù)縮放比例產(chǎn)生偏移。你可以打開那個(gè)打磚塊游戲demo,等頁面完全加載完成后,再放大,此時(shí)你會(huì)發(fā)現(xiàn)即使手指觸摸在“touch here”區(qū)域外部,也可以控制到球板,因?yàn)閰^(qū)域發(fā)生了偏移。除非頁面刷新或者恢復(fù)縮放,否則偏移量將一直存在。

/**
* onGestureEvent
*/
var div = document.getElementById("div");
div.ongesturechange = function(e){
//scale代表手勢(shì)產(chǎn)生的縮放比例,小于1是縮小,大于1是放大,原始為1
var scale = e.scale;
//rotation代表旋轉(zhuǎn)手勢(shì)的角度,值區(qū)間[0,360],正值順時(shí)針旋轉(zhuǎn),負(fù)值逆時(shí)針
var angle = e.rotation;
};

三、重力感應(yīng)重力感應(yīng)較簡(jiǎn)單,只需要為body節(jié)點(diǎn)添加onorientationchange事件即可。在此事件中由window.orientation屬性得到代表當(dāng)前手機(jī)方向的數(shù)值。window.orientation的值列表如下:

0:與頁面首次加載時(shí)的方向一致
-90:相對(duì)原始方向順時(shí)針轉(zhuǎn)了90°
180:轉(zhuǎn)了180°
90:逆時(shí)針轉(zhuǎn)了90°據(jù)我測(cè)試,Android2.1尚未支持重力感應(yīng)。以上即目前的觸屏事件,這些事件尚未并入標(biāo)準(zhǔn),但已被廣泛使用。本人Android2.1,未在其他環(huán)境下測(cè)試。

PS:這里再為大家提供一個(gè)關(guān)于JS事件的在線工具,歸納總結(jié)了JS常用的事件類型與函數(shù)功能:

javascript事件與功能說明大全:

http://tools.jb51.net/table/javascript_event

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 淺談js中的變量名和函數(shù)名重名

    淺談js中的變量名和函數(shù)名重名

    下面小編就為大家?guī)硪黄獪\談js中的變量名和函數(shù)名重名。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • angular bootstrap timepicker TypeError提示怎么辦

    angular bootstrap timepicker TypeError提示怎么辦

    這篇文章主要介紹了angular bootstrap timepicker TypeError提示的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JavaScript實(shí)現(xiàn)控制并發(fā)請(qǐng)求數(shù)量的方法詳解

    JavaScript實(shí)現(xiàn)控制并發(fā)請(qǐng)求數(shù)量的方法詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何實(shí)現(xiàn)控制并發(fā)請(qǐng)求數(shù)量,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • js如何在字符串中查找某個(gè)字符的位置

    js如何在字符串中查找某個(gè)字符的位置

    這篇文章主要給大家介紹了關(guān)于js如何在字符串中查找某個(gè)字符的位置的相關(guān)資料,在JavaScript中我們經(jīng)常需要對(duì)字符串進(jìn)行各種操作,包括查找包含特定字符的字符串,需要的朋友可以參考下
    2023-11-11
  • javascript中Promise的三種狀態(tài)示例詳解

    javascript中Promise的三種狀態(tài)示例詳解

    這篇文章主要給大家通過講解和實(shí)踐,詳細(xì)介紹了Promise對(duì)象的三種狀態(tài):pending(待定)、fullfilled(已兌現(xiàn))、rejected(已拒絕),并通過日志查看,展示了Promise狀態(tài)的改變順序,幫助讀者更好的理解和應(yīng)用Promise,需要的朋友可以參考下
    2024-10-10
  • webpack本地開發(fā)環(huán)境無法用IP訪問的解決方法

    webpack本地開發(fā)環(huán)境無法用IP訪問的解決方法

    下面小編就為大家分享一篇webpack本地開發(fā)環(huán)境無法用IP訪問的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 原生JS實(shí)現(xiàn)的簡(jiǎn)單小鐘表功能示例

    原生JS實(shí)現(xiàn)的簡(jiǎn)單小鐘表功能示例

    這篇文章主要介紹了原生JS實(shí)現(xiàn)的簡(jiǎn)單小鐘表功能,涉及javascript結(jié)合定時(shí)器的數(shù)值運(yùn)算與頁面元素屬性動(dòng)態(tài)修改相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • JS實(shí)現(xiàn)“隱藏與顯示”功能(多種方法)

    JS實(shí)現(xiàn)“隱藏與顯示”功能(多種方法)

    這篇文章主要介紹了JS實(shí)現(xiàn)“隱藏與顯示”功能的多種方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • JS 參數(shù)傳遞的實(shí)際應(yīng)用代碼分析

    JS 參數(shù)傳遞的實(shí)際應(yīng)用代碼分析

    在項(xiàng)目中,有一個(gè)Ajax加載的區(qū)域,是一個(gè)Div標(biāo)簽,id為msg_box,這個(gè)控制鏈接包含在一個(gè)左側(cè)的導(dǎo)航中,當(dāng)從其他頁面鏈接到這個(gè)頁面時(shí),該JS代碼就失效了。
    2009-09-09
  • javascript實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)功能

    javascript實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)功能

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12

最新評(píng)論

苍南县| 博兴县| 凤山县| 福贡县| 大悟县| 万安县| 象州县| 青冈县| 元朗区| 罗平县| 犍为县| 临夏县| 邹城市| 石景山区| 安平县| 确山县| 彭州市| 乐东| 佛教| 鄂托克前旗| 五指山市| 平山县| 甘南县| 卢氏县| 望城县| 夏邑县| 昌都县| 宜阳县| 抚远县| 祁连县| 漳州市| 乌海市| 德格县| 铜陵市| 彩票| 鹰潭市| 永登县| 达州市| 开封县| 盈江县| 高阳县|