自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解iPhone Web開發(fā)觸摸事件

移動(dòng)開發(fā) iOS
本文介紹的是iPhone Web開發(fā)觸摸事件,主要介紹了Web事件的處理,先來看詳細(xì)內(nèi)容。

iPhone Web開發(fā)觸摸事件是本文要介紹的內(nèi)容,當(dāng)然,你的 iPhone上是用你的手指來代替鼠標(biāo);不再是鼠標(biāo)點(diǎn)擊,而是手指輕敲。還有,你還可以用幾個(gè)手指頭摸啊、敲啊的。所以在 iPhone 上,鼠標(biāo)事件被觸摸事件代替了。這些鼠標(biāo)事件有:

touchstart

touchend

touchmove

touchcancel(當(dāng)系統(tǒng)取消了觸摸)

如果你訂閱了任何這些事件,你的事件監(jiān)聽器就會(huì)收到一個(gè)事件對象。它有一些重要的屬性,比如:

* touches—觸摸對象集合,與觸摸在屏幕上的手指一對一。觸摸對象又有 pageX 和 pageY 屬性來包含觸摸在頁面上的坐標(biāo)。

* targetTouches—觸摸目標(biāo)集合,不像觸摸對象集合,只作用于觸摸對象寄存的目標(biāo)元素,而不是整個(gè)頁面。

下面這個(gè)例子是簡單的拖放實(shí)現(xiàn)。讓我們在黑色背景頁畫一個(gè)框,然后隨便拖放下?,F(xiàn)在你要做的就是訂閱 touchmove 事件,當(dāng)手指移動(dòng)的時(shí)候來更新框子的位置,像這樣:

  1. window.addEventListener('load', function() {    
  2.  var b = document.getElementById('box'),  
  3.      xbox = b.offsetWidth  / 2, // half the box width  
  4.      ybox = b.offsetHeight / 2, // half the box height  
  5.      bbstyle = b.style; // cached access to the style object    
  6.  b.addEventListener('touchmove', function(event) {  
  7.    event.preventDefault(); // the default behaviour is scrolling  
  8.    bstyle.left =  event.targetTouches[0].pageX - xbox + 'px';  
  9.    bstyle.top  =  event.targetTouches[0].pageY - ybox + 'px';  
  10.  }, false);    
  11. }, false); 

touchmove 事件偵聽器首先取消了手指移動(dòng)的默認(rèn)行為-否則 Safari 會(huì)滾動(dòng)頁面的。event.targetTouches 集合中包含了在這個(gè) div 元素上所有手指的數(shù)據(jù)列表。我們現(xiàn)在只需要關(guān)心一個(gè)手指,所以我們使用 event.targetTouches[0]。然后, pageX 告訴了手指的 X 坐標(biāo)。從這個(gè)值中減去 div 寬度的一半就是框子的中間了。

小結(jié):詳解iPhone Web開發(fā)觸摸事件的內(nèi)容介紹完了,希望本文對你有所幫助。

責(zé)任編輯:zhaolei 來源: 博客園
相關(guān)推薦

2017-01-11 18:44:43

React Nativ觸摸事件Android

2013-04-15 15:22:06

2011-08-17 15:10:21

iPhone開發(fā)Web視圖

2011-07-19 09:46:38

2011-07-19 09:58:36

2009-07-01 09:27:36

觸摸屏驅(qū)動(dòng)WinCE

2011-08-10 17:37:00

iPhoneASIHTTPRequ

2011-07-27 09:33:14

iPhone 網(wǎng)絡(luò) Web

2016-12-08 22:59:47

觸摸事件android

2011-08-02 17:58:09

iPhone開發(fā) 事件

2013-04-22 15:40:00

Android開發(fā)觸摸事件與點(diǎn)擊事件區(qū)別

2011-07-18 14:39:53

iPhone SDK UIKit

2011-07-06 17:48:30

iPhone Xcode 模擬器

2011-08-12 14:33:06

iPhone緩存文件

2011-07-06 15:59:38

iPad iPhone iOS

2011-07-27 11:14:37

iPhone UITableVie

2011-07-28 10:11:54

iPhone開發(fā) 備忘

2011-08-16 17:18:44

iPhone開發(fā)安全

2011-08-22 12:01:38

iPhone開發(fā)文件

2011-08-15 11:37:20

iPhone開發(fā)Mask
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)