Element: mouseenter event
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das mouseenter
Ereignis wird an einem Element
ausgelöst, wenn ein Zeigegerät (normalerweise eine Maus) zunächst so bewegt wird, dass sein Hotspot innerhalb des Elements liegt, bei dem das Ereignis ausgelöst wurde.
Bitte beachten Sie, dass sich "in ein Element bewegen" auf die Position des Elements im DOM-Baum und nicht auf seine visuelle Position bezieht. Wenn z.B. ein Kindelement außerhalb seines Elternteils positioniert ist, wird das Bewegen in das Kindelement mouseenter
auf dem Elternelement auslösen, obwohl der Zeiger immer noch außerhalb der Grenzen des Elternelements ist.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("mouseenter", (event) => {});
onmouseenter = (event) => {};
Ereignistyp
Ein MouseEvent
. Erbt von UIEvent
und Event
.
Ereigniseigenschaften
Diese Schnittstelle erbt auch Eigenschaften ihrer Eltern, UIEvent
und Event
.
MouseEvent.altKey
Schreibgeschützt-
Gibt
true
zurück, wenn die alt-Taste gedrückt war, als das Mausereignis ausgelöst wurde. -
Die Nummer der Taste, die gedrückt wurde (falls zutreffend), als das Mausereignis ausgelöst wurde.
-
Die Tasten, die gedrückt wurden (falls vorhanden), als das Mausereignis ausgelöst wurde.
MouseEvent.clientX
Schreibgeschützt-
Die X-Koordinate des Mauszeigers in Viewport-Koordinaten.
MouseEvent.clientY
Schreibgeschützt-
Die Y-Koordinate des Mauszeigers in Viewport-Koordinaten.
MouseEvent.ctrlKey
Schreibgeschützt-
Gibt
true
zurück, wenn die control-Taste gedrückt war, als das Mausereignis ausgelöst wurde. MouseEvent.layerX
Nicht standardisiert Schreibgeschützt-
Gibt die horizontale Koordinate des Ereignisses relativ zur aktuellen Ebene zurück.
MouseEvent.layerY
Nicht standardisiert Schreibgeschützt-
Gibt die vertikale Koordinate des Ereignisses relativ zur aktuellen Ebene zurück.
MouseEvent.metaKey
Schreibgeschützt-
Gibt
true
zurück, wenn die meta-Taste gedrückt war, als das Mausereignis ausgelöst wurde. MouseEvent.movementX
Schreibgeschützt-
Die X-Koordinate des Mauszeigers relativ zur Position des letzten
mousemove
Ereignisses. MouseEvent.movementY
Schreibgeschützt-
Die Y-Koordinate des Mauszeigers relativ zur Position des letzten
mousemove
Ereignisses. MouseEvent.offsetX
Schreibgeschützt-
Die X-Koordinate des Mauszeigers relativ zur Position der Polsterungskante des Zielknotens.
MouseEvent.offsetY
Schreibgeschützt-
Die Y-Koordinate des Mauszeigers relativ zur Position der Polsterungskante des Zielknotens.
MouseEvent.pageX
Schreibgeschützt-
Die X-Koordinate des Mauszeigers relativ zum gesamten Dokument.
MouseEvent.pageY
Schreibgeschützt-
Die Y-Koordinate des Mauszeigers relativ zum gesamten Dokument.
-
Das sekundäre Ziel für das Ereignis, falls vorhanden.
MouseEvent.screenX
Schreibgeschützt-
Die X-Koordinate des Mauszeigers in Bildschirmkoordinaten.
MouseEvent.screenY
Schreibgeschützt-
Die Y-Koordinate des Mauszeigers in Bildschirmkoordinaten.
MouseEvent.shiftKey
Schreibgeschützt-
Gibt
true
zurück, wenn die shift-Taste gedrückt war, als das Mausereignis ausgelöst wurde. MouseEvent.mozInputSource
Nicht standardisiert Schreibgeschützt-
Der Typ des Geräts, das das Ereignis generiert hat (eines der
MOZ_SOURCE_*
Konstanten). Dies ermöglicht es Ihnen beispielsweise festzustellen, ob ein Mausereignis von einer tatsächlichen Maus oder durch ein Berührungsereignis generiert wurde (was die Genauigkeit, mit der Sie die Koordinaten des Ereignisses interpretieren, beeinflussen könnte). MouseEvent.webkitForce
Nicht standardisiert Schreibgeschützt-
Die beim Klicken ausgeübte Druckmenge.
MouseEvent.x
Schreibgeschützt-
Alias für
MouseEvent.clientX
. MouseEvent.y
Schreibgeschützt-
Alias für
MouseEvent.clientY
.
Nutzungshinweise
Verhalten von mouseenter
Ereignissen
Ein mouseenter
Ereignis wird an jedes Element der Hierarchie gesendet, wenn diese betreten werden. Hier werden 4 Ereignisse an die vier Elemente der Hierarchie gesendet, wenn der Zeiger den Text erreicht.
Verhalten von mouseover
Ereignissen
Ein einziges mouseover
Ereignis wird an das tiefste Element des DOM-Baums gesendet, dann steigt es die Hierarchie hinauf, bis es von einem Handler abgebrochen wird oder die Wurzel erreicht.
Bei tiefen Hierarchien kann die Anzahl der gesendeten mouseenter
Ereignisse ziemlich groß sein und erhebliche Leistungsprobleme verursachen. In solchen Fällen ist es besser, auf mouseover
Ereignisse zu hören.
In Kombination mit dem entsprechenden mouseleave
(das beim Austritt der Maus aus dem Inhaltsbereich des Elements ausgelöst wird), funktioniert das mouseenter
Ereignis ähnlich wie die CSS :hover
Pseudoklasse.
Beispiele
Die mouseover
Dokumentation enthält ein Beispiel, das den Unterschied zwischen mouseover
und mouseenter
veranschaulicht.
mouseenter
Das folgende triviale Beispiel verwendet das mouseenter
Ereignis, um den Rahmen des div
zu ändern, wenn die Maus den dafür vorgesehenen Bereich betritt. Es fügt dann ein Element zur Liste hinzu mit der Nummer des mouseenter
oder mouseleave
Ereignisses.
HTML
<div id="mouseTarget">
<ul id="unorderedList">
<li>No events yet!</li>
</ul>
</div>
CSS
Stylen des div
, um es besser sichtbar zu machen.
#mouseTarget {
box-sizing: border-box;
width: 15rem;
border: 1px solid #333;
}
JavaScript
let enterEventCount = 0;
let leaveEventCount = 0;
const mouseTarget = document.getElementById("mouseTarget");
const unorderedList = document.getElementById("unorderedList");
mouseTarget.addEventListener("mouseenter", (e) => {
mouseTarget.style.border = "5px dotted orange";
enterEventCount++;
addListItem(`This is mouseenter event ${enterEventCount}.`);
});
mouseTarget.addEventListener("mouseleave", (e) => {
mouseTarget.style.border = "1px solid #333";
leaveEventCount++;
addListItem(`This is mouseleave event ${leaveEventCount}.`);
});
function addListItem(text) {
// Create a new text node using the supplied text
const newTextNode = document.createTextNode(text);
// Create a new li element
const newListItem = document.createElement("li");
// Add the text node to the li element
newListItem.appendChild(newTextNode);
// Add the newly created list item to list
unorderedList.appendChild(newListItem);
}
Ergebnis
Spezifikationen
Specification |
---|
UI Events # event-type-mouseenter |
HTML Standard # handler-onmouseenter |
Browser-Kompatibilität
BCD tables only load in the browser