Wenn Sie Ihren Code in Firefox testen, müssen Sie den Browser so konfigurieren, dass Zeigerereignisse aktiviert werden, da sie momentan nicht standardmäßig aktiviert sind (mein aktuellstes Update ab 2017.xi.15 ist Firefox Quantum 57.0.2 (64-bit), was ich hier poste, könnte sich in späteren Versionen ändern!).
Dazu müssen Sie eine neue Registerkarte starten und "about: config" in die Adressleiste eingeben. Dann suchen Sie nach dem Eintrag:
dom.w3c_pointer_events.enabled
und den Status dieses boolean Wert auf true ändern.
Sofern Sie dies nicht tun, wird Firefox Zeigerereignisse überhaupt nicht behandeln. Dies wird sich wahrscheinlich in der Zukunft ändern. Beachten Sie jedoch, dass die Verarbeitung von Zeigerereignissen wahrscheinlich ein Minenfeld ist, wenn Sie an der browserübergreifenden Kompatibilität interessiert sind. Die neueste Version von Chrome, die auf meinem Computer ausgeführt wird, nämlich Version 63.0.3239.84 (Official Build) (64-Bit), verarbeitet z. B. Zeigerereignisse, ohne den Browser zu durchsuchen und neu zu konfigurieren, aber Firefox hat mir bis Ende keine Kopfschmerzen bereitet Ich habe das obige Konfigurationsproblem entdeckt und ähnliche Probleme werden wahrscheinlich auch in anderen Browsern auftreten.
Nur um das Problem zu verschärfen, ermöglicht die Windows-Version von Firefox Sie Zeigerereignisse zu aktivieren, aber sie sind nicht unterstützt überhaupt noch auf der Firefox Mobile für Android-Version des Browsers. Daher verhält sich derselbe Browser wahrscheinlich anders, wenn man die Plattform wechselt, nur um den Albträumen in der Programmierung etwas hinzuzufügen.
Ich bin nicht vertraut mit Safari oder Opera, aber Benutzer dieser Browser sind stark empfohlen, um zu überprüfen, ob ähnliche Support-Probleme gelten, wenn Zeiger Ereignisse verwenden!
Daher spielt es keine Rolle, ob Sie Zeigerereignisse nativ oder über ein Framework wie Angular behandeln, wenn der Browser Pointer-Ereignisse nicht von Anfang an aktiviert. Ich verschwendete mehrere Stunden mit diesem Thema und dachte, es wäre eine gute Idee, anderen die gleiche Frustration zu ersparen.
Natürlich wird dies nicht löst das Problem der Endbenutzer nicht diesen zu wissen, und die App auf ihren Systemen versagt, wenn sie versuchen, sie auszuführen, ohne den Browser zu konfigurieren, dies zu tun. Oder, schlimmer noch, Ihre App schlägt fehl, weil ihre Browser keine Zeiger-Ereignisse unterstützen (z. B. Firefox Mobile für Android, die ich oben zitiert habe). Endnutzer erwarten, dass die Apps unabhängig von ihrer Hardware sofort einsatzbereit sind, mit der Ausnahme, dass dies zur Erfüllung dieser Aufgabe im Moment zu hässlichen Hürden führt. Eine davon ist, dass Touch-Ereignis-Unterstützung ist auch hinter einem Config-Flag in Firefox versteckt, so dass Sie nicht einmal garantieren können, dass auf separate Berührungsereignisse zurückfallen, falls Zeigerereignisse nicht unterstützt werden, wird Ihre App vor Fehler zu speichern.
Im Moment ist Chrome der einzige große Browser, der in dieser Hinsicht eine gewisse Konsistenz zwischen den Plattformen gewährleistet. Code, den ich mit Zeigerereignissen geschrieben habe, funktioniert sowohl auf einem Desktop-Computer als auch auf einem Tablet, wenn ich Chrome starte, aber mir ist jetzt klar, dass Firefox mir Kopfschmerzen bereiten wird, wenn ich versuche, den Code auf dem Tablette.
Es gibt wahrscheinlich andere Probleme lauern zusätzlich zu den oben genannten warten auf Sie (vor allem, wenn Sie die neuen CSS-Pointer-Event-Funktionen auch verwenden!), Aber sie sind richtig für anderswo reserviert.
meinen Sie Mauszeiger-Ereignis? –
Ich arbeite mit einer Maus, wenn Sie das meinen. Es wird wie folgt verwendet: 'element.addEventListener ('pointerdown', function (e) {....' –