


Zusammenfassung des Erhaltens mauspositionsbezogener Attribute in JavaScript_Javascript-Kenntnissen
Javascript verfügt über kein Mausobjekt. Das Abrufen von Mauskoordinaten hängt vom leistungsstarken Ereignisobjekt ab.
Durch die Überwachung der Mausbewegung des Dokuments können wir die Mausposition in Echtzeit ermitteln.
Aber! ! Das Ereignis enthält zu viele mausbezogene Attribute, was sehr verwirrend ist! Wie folgt:
event.layerX | event.layerY |
event.clientX | event.clientY |
event.pageX | event.pageY |
event.offsetX | event.offsetY |
event.screenX | event.screenY |
event.x | event.y |
Insgesamt 6 Gruppen!
Und der Unterschied zwischen ihnen ist nicht offensichtlich und die Browser sind nicht kompatibel!
Der Zweck dieses Artikels besteht darin, die Unterschiede zu verdeutlichen und diejenigen auszuwählen, die nicht empfohlen werden.
Testcode
Führen Sie den folgenden Code direkt aus:
http://www.w3.org/1999/xhtml">
/>
Körper {position:relative;}
div {min-height: 300px; Hintergrundfarbe: #eee;}
#jg {rechts: 0; oben: 10px; Position: fest; Hintergrundfarbe: #f00;}
Ergebnisse anzeigen
<script><br>
var jg = document.getElementById('jg');<br>
document.onmousemove = Funktion (e) {<br>
e = e ||. window.event;<br>
jg.innerHTML = 'layerX:' e.layerX <br>
',layerY:' e.layerY <br>
', <br/>clientX:' e.clientX <br>
',clientY:' e.clientY <br>
', <br/>pageX:' e.pageX <br>
',pageY :' e.pageY <br>
',<br/>offsetX:' e.offsetX <br>
',offsetY:' e.offsetY <br>
',<br/>screenX:' e.screenX <br>
',screenY:' e.screenY <br>
',<br/>x:' e.x <br>
',y:' e.y;<br>
}<br>
</script>
Während des Testprozesses wurde ein Artefakt entdeckt: Chrome (Google-Browser) und IE9 sind mit allen oben genannten Attributen vollständig kompatibel! Es ist sehr praktisch, sie zu vergleichen.
Nach dem Vergleich sind die Ergebnisse wie folgt:
Erklärung jedes Attributs
clientX und Y sind die Koordinaten der Maus relativ zum Browser-Ansichtsfenster (d. h. der Teil außerhalb der Bildlaufleiste wird von allen Browsern unterstützt).
ScreenX und Y sind die Koordinaten der Maus relativ zur linken Seite (oberer Rand) des gesamten Bildschirms. Sie haben grundsätzlich keinen Kontakt zum Dokument und sind vollständig kompatibel.
OffsetX und Y sind die Koordinaten der Maus relativ zum aktuell gezeigten Objekt. Wenn die Maus auf die Schaltfläche zeigt, wird OffsetX relativ zur Schaltfläche nicht unterstützt
x und y sind dieselben wie LayerX und Y in Standardbrowsern. Es handelt sich um Attribute, die zum Ersetzen von LayerX im IE verwendet werden könnenpageX und Y sind die Koordinaten der Maus relativ zur linken Seite (oberer Rand) der gesamten Seite, einschließlich derjenigen außerhalb des Ansichtsfensters. IE7 und 8 unterstützen sie nicht.
Wichtige Punkte: LayerX und LayerY
LayerX und Y sind neue Attribute, die von Standardbrowsern eingeführt werden und auch von IE9 unterstützt werden. Es kann verwendet werden, um OffsetX und Y zu ersetzen. Es ist jedoch definiert als: die Koordinaten des nächstgelegenen Elements mit Positionierungsinformationen relativ zum aktuell zeigenden Element. Dieses „mit Positionierung“ bedeutet, dass es CSS-Attribute gibt, die nicht standardmäßig positioniert sind (dh nicht statisch).Wenn das aktuell angezeigte Element positioniert ist, geben LayerX und Y die Koordinaten relativ zu diesem Element zurück. Wenn es noch keine Positionierung gibt, fahren Sie fort —— HTML-Knoten.
Wenn Sie also in Firefox den OffsetX-Wert möchten, müssen Sie Positionsinformationen hinzufügen!
Kompatibilitätsübersicht:
1. Firefox unterstützt die Attribute offsetX, offsetY und x, y, sie können jedoch durch layerX ersetzt werden 2. x und y in dh entsprechen LayerX und LayerY in Firefox&chrome; 3. Zwischen der Dokumentgrenze von IE7 und 8 und der Browserfenstergrenze besteht ein Abstand von 2 Pixeln. Wenn das Fenster maximiert ist, beträgt der minimale Bildschirm X 2 Pixel 4. Obwohl die Werte „layerX“ und „Y“ in ie9 aus unerklärlichen Gründen falsch sind, scheinen sie mit dem HTML-Tag zusammenzuhängen. Ziehen Sie beispielsweise im Code meines Beispiels die Bildlaufleiste ganz nach rechts und bewegen Sie die Maus langsam davon der Leerraum zum großen DIV. Zu diesem Zeitpunkt wird auch die Differenz zwischen dem äußersten rechten Teil des großen DIV und dem äußersten rechten Teil des ersten DIV in LayerX berechnet. . . Da es am Ende immer mehr Elemente gibt, wird diese Berechnung komplizierter; Firefox und Chromes LayerX haben dieses Problem jedoch nicht. Verwenden Sie LayerX also nicht in IE9.
5. In Chrome haben x und y zwar Werte, sind aber genau die gleichen wie clientX und Y! Daher wird die Verwendung von XY-Attributen nicht empfohlen.
Kompatibilitätskorrektur
In Standardbrowsern können position und event.layerX verwendet werden, um das Attribut event.offsetX zu implementieren In IE7 und 8 gibt es kein pageX, pageY. Sie können es nur mit document.documentElement.scrollLeft event.clientX finden.
So kann entweder x, y oder offsetX, offsetY im IE entfernt werden.
Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Syntax und Codebeispiele für das Bottom-Attribut in CSS In CSS wird das Bottom-Attribut verwendet, um den Abstand zwischen einem Element und dem Boden des Containers anzugeben. Es steuert die Position eines Elements relativ zum unteren Rand seines übergeordneten Elements. Die Syntax des unteren Attributs lautet wie folgt: element{bottom:value;} wobei element das Element darstellt, auf das der Stil angewendet werden soll, und value den festzulegenden unteren Wert darstellt. Der Wert kann ein bestimmter Längenwert sein, z. B. Pixel

Thread of Despair ist eine seltene Karte in Blizzard Entertainments Meisterwerk „Hearthstone“ und kann im Kartenpaket „Wizbane's Workshop“ erhalten werden. Kann 100/400 arkane Staubpunkte verbrauchen, um die Normal-/Goldversion zu synthetisieren. Einführung in die Eigenschaften von Hearthstones Faden der Verzweiflung: Er kann mit einer Chance in Wizbanes Werkstattkartenpaket erhalten oder auch durch arkanen Staub synthetisiert werden. Seltenheit: Selten Typ: Zauber Klasse: Todesritter Mana: 1 Wirkung: Verleiht allen Dienern ein Todesröcheln: Fügt allen Dienern 1 Schaden zu

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wenn Sie jQuery zum Betreiben von DOM-Elementen verwenden, stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob ein Element ein bestimmtes Attribut hat. In diesem Fall können wir diese Funktion einfach mit Hilfe der von jQuery bereitgestellten Methoden implementieren. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt, um festzustellen, ob ein jQuery-Element über bestimmte Attribute verfügt, und um spezifische Codebeispiele anzuhängen. Methode 1: Verwenden Sie die Methode attr() und den Operator typeof //, um zu bestimmen, ob das Element ein bestimmtes Attribut hat
