SORU
23 Ocak 2013, ÇARŞAMBA


Anlayış dokunma olayları

Benim kütüphanelere touch cihazları ile iş yapmaya çalışıyorum, ama zor bir zaman desteklenen ne olduğunu ve nasıl çalıştığını anlamaya çalışarak geçiriyorum.

Temelde, 5 touch events ama touchstart olay (yaa) sadece mobil tarayıcılar arasında fikir birliği var gibi görünüyor. Bir test olarak fiddle bir durum yarattım.

Android 4 Kurulu ile benim Galaxy Not Bu test ettik, ama bir masaüstü tarayıcı ile bağlantıyı da kontrol edebilirsiniz.

Amaç, musluk, çift musluk ve uzun musluk işlemek için nasıl anlamaya çalışmaktır. Hiçbir şey fantezi.

Temelde, bu ne olacağını

Android stok tarayıcıyangın olayları dokunmaz. Sadece fare musluklar ile, mousedown, mouseup click art arda ateş olaylar, ama çift musluklar sadece zoom taklit etmek ve bu sayfa dışında çalışır.

KromAndroid için harekete parmak ekrana dokunduğunda touchstart olay. Eğer yakında serbest olursa, *, , * mouseuptouchend4 ve click son olarak olayları tetikler.

Durumundauzun dokununyarım saniye sonra parmak ucunda click hiçbir olay ile kaldırıldığı zaman mousedown ** 9, touchend ateşler.

Eğerparmağınızı hareket ettirin, touchmove bir olay birkaç kez ateş eder, sonra da touchcancel bir olay yangınlar, ve hiçbir şey parmak kaldırırken ardından touchend bile bir olay olur.

Birçift dokununTetikleyicileri giriş/çıkış özellikleri zum, ama olay-bilge combotouchstart-touchevent iki kez ateş, fare olayları ateşledi.

FirefoxAndroid için doğru touchstart olay geçirilir ve kısa olması halinde dokunun sonramousedown, mouseup, touchend ve click yangınlar.

Durumundauzun dokunun,, ** mouseup 22 touchend sonunda olayları tetikler. Bu işler için Chrome aynı.

Ama eğer senparmağınızı hareket ettirintouchmove sürekli harekete , tahmin olabilir gibi, ama değildeğilparmak tarayıcı görünüm alanına çıktığı zaman parmağı olay dinleyici ile eleman yaprakları ve touchcancel olay yangın değil touchleave olayı harekete.

İçinçift vuruşChrome gibi davranır.

Opera Mobileve kısa bir süre için Chrome, Firefox aynı şeyi dokunun, ama uzun basın etkinleştirir durumunda paylaşım çeşit gerçekten devre dışı bırakmak istediğiniz özellik. Parmağını oynattığını, ya da çift dokunun, Firefox gibi davranır.

Chrome betayaptığı her zamanki kısa musluklar, ama davanın uzun musluk değil yangın mouseup olay artık, sadece touchstart mousedown sonra yarım saniye sonra touchend parmak kaldırdı. Parmak taşındığında, artık Firefox ve Opera Mobile gibi davranır.

Durumundaçift vuruşyangın olayları dokunmaz bilezoom outyakınlaştırma zaman , ama sadece.

Chrome beta garip davranışlar gösterir, ama gerçekten bir beta olduğu için şikayet edemem.

Soruve dokunmatik cihazların en yaygın tarayıcılarda kısa musluk, uzun musluk ve çift musluk tespit etmek için denemek için basit bir yolu var mı?

Safari ile iOS cihazlar üzerinde test veya Windows 7/8/RT Telefonu, ama bazılarınız eğer IE için veremem çok kötü, görüşlerinizi çok mutluluk duyacağız.

CEVAP
6 EYLÜL 2013, Cuma


Eğer zaten yok ise, Hammer.js kaynak kodu okuma öneririm

https://github.com/hammerjs/hammer.js/blob/master/hammer.js

Yorum ve kod arasında 1400 hatları, büyük belgeler var ve kodu anlamak kolay.

Yazar ortak dokunmatik bir sürü olaylar çözmek için seçti nasıl görebilirsiniz:

tutun, dokunun, çift dokunma, sürükleme, dragstart, dragend, dragup, dragdown, , dragright, tokatlamak, swipeup, swipedown, swipeleft, swiperight dragleft, dönüşüm, transformstart, transformend, döndürme, tutam, pinchin, pinchout, dokunma (jest algılama başlar), (algılama jest sürüm biter)

Kaynak kodunu okuduktan sonra çok daha iyi dokunma olayları nasıl çalıştığını ve nasıl tanımlamak için tarayıcı taşıma kapasitesine sahip anlamak gerekir bence.

http://eightmedia.github.io/hammer.js/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Darren Kitchen

    Darren Kitch

    3 EKİM 2011
  • pain975

    pain975

    27 NİSAN 2008
  • Paulo Bautista

    Paulo Bautis

    21 Aralık 2008