這篇文章給大家分享的是有關(guān)如何捕獲Mac觸摸板雙指事件的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
捕獲Mac觸摸板雙指事件
例如:jquery.mousewheel.js(添加跨瀏覽器的鼠標(biāo)滾輪支持),給得太簡(jiǎn)單,沒有處理Mac雙指行為,所以不能用。
目標(biāo)
獲取Mac觸摸板雙指行為,具體有兩個(gè),一個(gè)是實(shí)時(shí)拖動(dòng)路線,二是手勢(shì)(上、下、左、右、放大、縮小)。
難點(diǎn)
雙指行為只會(huì)觸發(fā)mousewheel事件,其他什么的touch,mouse都不會(huì)觸發(fā),只能從這個(gè)下手。
雙指的特性
1.在快速滑動(dòng)過程中,deltaX、deltaY值的最初值的正負(fù)是與滑動(dòng)方向不同的。
2.在緩慢滑動(dòng)過程中,deltaX、deltaY值的值域是非常小的,一般在于[-3,3]。
3.在1s內(nèi),mousewheel事件大概觸發(fā)100次左右。
4.滑動(dòng)過程中,數(shù)值會(huì)有抖動(dòng)問題。
實(shí)現(xiàn)拖動(dòng)路線思路(Path)
針對(duì)快速滑動(dòng)
1.deltaX、deltaY值的最初值的正負(fù)是與滑動(dòng)方向不同的這部分?jǐn)?shù)據(jù)要舍棄。(因?yàn)椴皇钦嬲较颍?/p>
2.每次觸發(fā)的deltaX、deltaY值兩兩相減,結(jié)果值如果與方向不同,則舍棄。
3.剩下的差值就是方向挪動(dòng)距離。
4.兩個(gè)方向的所有差值相加,共兩組,哪組值大取哪組,正負(fù)決定方向。
針對(duì)緩慢滑動(dòng)
1.由于deltaX、deltaY值的值域是非常小,所以都保留,但值與方向不同的,也舍棄。
2.兩個(gè)方向的所有差值相加,共兩組,哪組值大取哪組,正負(fù)決定方向。
實(shí)現(xiàn)手勢(shì)思路(Gesture)
在上面的基礎(chǔ)上,記錄一段時(shí)間內(nèi)deltaX、deltaY和兩兩差值:
deltaX、deltaY用來統(tǒng)計(jì)放大、縮小手勢(shì)。
兩兩差值用來統(tǒng)計(jì)上、下、左、右手勢(shì)。
所以,手勢(shì)是一段時(shí)間的手勢(shì),而不是某個(gè)時(shí)刻的。
實(shí)現(xiàn)代碼
具體代碼就不貼出來,可直接在我Github下載
總結(jié)
路線問題:mousewheel給予的deltaX、deltaY值跟操作效果有挺大不同,快速滑動(dòng)效果特別不準(zhǔn)確。
手勢(shì)問題:由于雙指特性的第三點(diǎn),手勢(shì)實(shí)現(xiàn)無法精確,即便是把時(shí)間段變得很短,但因?yàn)閿?shù)據(jù)量問題(無法用微積分的思路),會(huì)變得更不精確;把時(shí)間段變長(zhǎng),反應(yīng)時(shí)長(zhǎng)又會(huì)變長(zhǎng);
感謝各位的閱讀!關(guān)于“如何捕獲Mac觸摸板雙指事件”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)站題目:如何捕獲Mac觸摸板雙指事件-創(chuàng)新互聯(lián)
本文鏈接:http://chinadenli.net/article26/epsjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)、服務(wù)器托管、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容