SORU
20 EKİM 2011, PERŞEMBE


Tarayıcı fare olduğunu tespit ve dokunmatik sadece.

Ben gelişmekte olan bir Web uygulaması (web sayfaları ilginç metin) ile bir çok farklı arayüz için dokunun (parmağınızı gizler ekrana tıkladığınızda) ve fare (dayanır ağır vurgulu önizleme). Nasıl benim kullanıcı ona doğru arabirim sunmak için fare olduğunu tespit edebilir miyim? Fare ve dokunmatik (bazı dizüstü bilgisayarlar gibi) hem de insanlar için bir geçiş ayrılmayı düşünüyorum.

Tarayıcı dokunma olayı yeteneği aslında kullanıcı dokunmatik bir aygıt (örneğin, Modernizr kesmiyor) kullanıyor anlamına gelmez. Doğru soru cevapları kodu eğer cihaz bir fare, aksi takdirde true varsa false dönmelidir. Fare ve dokunmatik cihazlar için, yanlış (touch) sadece dönmelidir

Bir yan not olarak, benim dokunmatik arayüz de daha tespit bakıyorum fare eksikliği yani klavye-sadece cihazlar için uygun olabilir.

Daha fazla açıklığa kavuşturmak için, burada uygulamak için arıyorum API:

// Level 1


// The current answers provide a way to do that.
hasTouch();

// Returns true if a mouse is expected.
// Note: as explained by the OP, this is not !hasTouch()
// I don't think we have this in the answers already, that why I offer a bounty
hasMouse();

// Level 2 (I don't think it's possible, but maybe I'm wrong, so why not asking)

// callback is called when the result of "hasTouch()" changes.
listenHasTouchChanges(callback);

// callback is called when the result of "hasMouse()" changes.
listenHasMouseChanges(callback);

CEVAP
8 ŞUBAT 2012, ÇARŞAMBA


Nasıl belge üzerinde mousemove olay için dinleme hakkında. Daha sonra bu olayı duyana kadar cihazın dokunmatik veya klavye tek olduğunu varsayalım.

var mouseDetected = false;
function onMouseMove(e) {
  unlisten('mousemove', onMouseMove, false);
  mouseDetected = true;
  // initializeMouseBehavior();
}
listen('mousemove', onMouseMove, false);

(Uygun olarak addEventListener attachEvent listen unlisten temsilci.)

Bu görsel jank çok fazla neden olmaz umarım, eğer büyük moduna bağlı olarak yeniden düzenler ihtiyacın olursa çok yazık olur...

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006
  • spyib

    spyib

    9 Ocak 2007