干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

十年專注于品牌網(wǎng)站建設 十余年專注于網(wǎng)站建設_小程序開發(fā)_APP開發(fā),低調、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡微信小程序

百恒網(wǎng)絡

南昌百恒網(wǎng)絡

觸摸事件中touchstar、touchmove、touchend、touchcancel事件應用方法及實例

百恒網(wǎng)絡 2017-01-07 21159

前面我們介紹過移動設備中一些設備事件,例如手機旋轉90度、傾斜等設置放置姿態(tài)變化的四大事件orientationchange事件、MozOrientation事件、deviceorientation事件、devicemotion事件,接下由南昌網(wǎng)站建設公司百恒網(wǎng)絡前端開發(fā)工程師向大介紹在移動端的觸摸事件。
? ? ? ?iOS版 Safari為了向開發(fā)人員傳達一些特殊信息,新增了一些專有事件。因為 iOS設備既沒有鼠標 也沒有鍵盤,所以在為移動 Safari開發(fā)交互性網(wǎng)頁時,常規(guī)的鼠標和鍵盤事件根本不夠用。隨著 Android 中的 WebKit 的加入,很多這樣的專有事件變成了事實標準,導致 W3C開始制定 Touch Events規(guī)范(參 見 https://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html)。以下介紹的事件只針對觸摸設備。?
? ? ? ?觸摸事件包含 iOS 2.0軟件的 iPhone 3G發(fā)布時,也包含了一個新版本的 Safari瀏覽器。這款新的移動 Safari 提供了一些與觸摸(touch)操作相關的新事件。后來,Android上的瀏覽器也實現(xiàn)了相同的事件。觸摸 事件會在用戶手指放在屏幕上面時、在屏幕上滑動時或從屏幕上移開時觸發(fā)。具體來說,有以下幾個觸 摸事件。?
? ? ? ?touchstart:當手指觸摸屏幕時觸發(fā);即使已經有一個手指放在了屏幕上也會觸發(fā)。?
? ? ? ?touchmove:當手指在屏幕上滑動時連續(xù)地觸發(fā)。在這個事件發(fā)生期間,調用preventDefault() 可以阻止?jié)L動。?
? ? ? ?touchend:當手指從屏幕上移開時觸發(fā)。?
? ? ? ?touchcancel:當系統(tǒng)停止跟蹤觸摸時觸發(fā)。關于此事件的確切觸發(fā)時間,文檔中沒有明確說明。?
? ? ? ?上面這幾個事件都會冒泡,也都可以取消。雖然這些觸摸事件沒有在 DOM規(guī)范中定義,但它們卻 是以兼容 DOM的方式實現(xiàn)的。因此,每個觸摸事件的 event 對象都提供了在鼠標事件中常見的屬性: bubbles、cancelable、view、clientX、clientY、screenX、screenY、detail、altKey、shiftKey、 ctrlKey 和 metaKey。?
? ? ? ?除了常見的 DOM屬性外,觸摸事件還包含下列三個用于跟蹤觸摸的屬性。?
? ? ? ?touches:表示當前跟蹤的觸摸操作的 Touch 對象的數(shù)組。
? ? ? ?targetTouchs:特定于事件目標的 Touch 對象的數(shù)組。?
? ? ? ?changeTouches:表示自上次觸摸以來發(fā)生了什么改變的 Touch 對象的數(shù)組。 每個 Touch 對象包含下列屬性。?
? ? ? ?clientX:觸摸目標在視口中的 x坐標。?
? ? ? ?clientY:觸摸目標在視口中的 y坐標。?
? ? ? ?identifier:標識觸摸的唯一 ID。 ?
? ? ? ?pageX:觸摸目標在頁面中的 x坐標。?
? ? ? ?pageY:觸摸目標在頁面中的 y坐標。?
? ? ? ?screenX:觸摸目標在屏幕中的 x坐標。?
? ? ? ?screenY:觸摸目標在屏幕中的 y坐標。?
? ? ? ?target:觸摸的 DOM節(jié)點目標。 使用這些屬性可以跟蹤用戶對屏幕的觸摸操作。來看下面的例子。?



? ? ? ?Touch Events Example
? ? ? ?


? ? ? ?

Touch anywhere on the screen. This only works on an iPhone or iPod Touch running iPhone 2.x software.


? ? ? ?
?
? ? ? ?

? ? ? ?


? ? ? ?以上代碼會跟蹤屏幕上發(fā)生的一次觸摸操作。為簡單起見,只會在有一次活動觸摸操作的情況下輸 出信息。當 touchstart 事件發(fā)生時,會將觸摸的位置信息輸出到
元素中。當 touchmove 事件 發(fā)生時,會取消其默認行為,阻止?jié)L動(觸摸移動的默認行為是滾動頁面),然后輸出觸摸操作的變化 信息。而 touchend 事件則會輸出有關觸摸操作的終信息。注意,在 touchend 事件發(fā)生時,touches 集合中就沒有任何 Touch 對象了,因為不存在活動的觸摸操作;此時,就必須轉而使用 changeTouchs 集合。?
? ? ? ?這些事件會在文檔的所有元素上面觸發(fā),因而可以分別操作頁面的不同部分。在觸摸屏幕上的元素 時,這些事件(包括鼠標事件)發(fā)生的順序如下:?
? ? ? ?(1)touchstart?
? ? ? ?(2) mouseover
? ? ? ?(3) mousemove(一次)
? ? ? ?(4) mousedown
? ? ? ?(5) mouseup
? ? ? ?(6) click
? ? ? ?(7) touchend?
? ? ? ?支持觸摸事件的瀏覽器包括 iOS版 Safari、Android版 WebKit、bada版 Dolfin、OS6+中的 BlackBerry WebKit、Opera Mobile 10.1+和 LG專有 OS中的 Phantom瀏覽器。目前只有 iOS版 Safari支持多點觸摸。 桌面版 Firefox 6+和 Chrome也支持觸摸事件。?
? 本文僅限內部技術人員學習交流,不得作于其他商業(yè)用途.希望此文對廣大技人員有所幫助。原創(chuàng)文章出自:南昌網(wǎng)站建設公司-百恒網(wǎng)絡http://www.myforexfactory.net/如轉載請注明出處!

400-680-9298,0791-88117053
掃一掃關注百恒網(wǎng)絡微信公眾號
掃一掃打開百恒網(wǎng)絡小程序

歡迎您的光顧,我們將竭誠為您服務×

 
 
 
 
 
 
 
 
×
浪卡子县| 丹东市| 甘肃省| 花莲市| 谢通门县| 台南县| 海丰县| 呈贡县| 邻水| 九寨沟县| 东源县| 南昌县| 宁南县| 通河县| 麻江县| 旅游| 贡山| 济阳县| 南安市| 普兰店市| 通许县| 岱山县| 镇赉县| 湟源县| 合山市| 老河口市| 重庆市| 米脂县| 铜川市| 南靖县| 比如县| 天全县| 龙泉市| 汝南县| 白玉县| 清新县| 新安县| 泰州市| 巩义市| 宾川县| 龙海市|