Wie zu erkennen, wenn ein Gerät über Maus-Unterstützung?

Derzeit nutze ich den folgenden test (entnommen aus Modernizr) zu erkennen, touch-Unterstützung:

function is_touch_device() {
    var bool;
    if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
        bool = true;
    } else {
        injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function(node) {
            bool = node.offsetTop === 9;
        });
    }
    return bool;
}

Aber einige Geräte sind sowohl für touch-und Maus-driven, also möchte ich eine seperate Funktion zum erkennen, ob ein Gerät über Maus-Unterstützung. Was ist ein guter Weg, um diese überprüfung zu tun?

Letztlich meine Absicht ist es, in der Lage, das zu tun diese:

if(is_touch_device())

if(has_mouse_support())

if(is_touch_device() && has_mouse_support())
Während Sie keine Antwort auf Ihre Frage explizit zu, ich fand diesen Artikel interessant wrt touch vs. Maus-Unterstützung: html5rocks.com/en/mobile/touchandmouse
Ungetestet (und funktioniert nur, wenn die Maus tatsächlich bewegt wird): var Maus= false; Fenster.onmousemove = function(){Maus= true}
Clever, ich denke, dass sollte funktionieren, aber darauf wartet, dass ein mehr getestet, Antwort falls jemand eine Lösung bekannt ist. Edit: das ist wahr, es wird falsch positiv, wenn die Maus nicht mehr bewegen kann, hmmm.
wenn jemand nie wackelt die Maus, die Sie wohl lieber andere Modi der Interaktion sowieso...
Mhm. Nach html5rocks.com/en/mobile/touchandmouse/#toc-1 meine Lösung nicht funktioniert. Verdammt 🙂 Hier ist eine lange Diskussion über das Thema: github.com/Modernizr/Modernizr/issues/869 Scheint, wie es gibt nicht eine gute Lösung

InformationsquelleAutor TK123 | 2014-01-10

Schreibe einen Kommentar