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
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...
Nasıl bir tarayıcı VML veya SVG desteğ...
JavaScript tespit tarayıcı dili tercih...
™ : Çalışan bir masaüstü tarayıcı üzer...
Bir Mobil Tarayıcı arasında tespit vey...
Nasıl bir WordPress kullanmak dokunmat...