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

  • HowcastTechGadgets

    HowcastTechG

    22 EYLÜL 2010
  • Kassem G

    Kassem G

    25 EKİM 2006
  • TWiT Netcast Network

    TWiT Netcast

    27 EKİM 2005