pointer-events
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.
Die pointer-events
CSS Eigenschaft legt fest, unter welchen Umständen (falls überhaupt) ein bestimmtes grafisches Element das Ziel von Zeigerereignissen werden kann.
Probieren Sie es aus
pointer-events: auto;
pointer-events: none;
pointer-events: stroke; /* SVG-only */
pointer-events: fill; /* SVG-only */
<section class="flex-column" id="default-example">
<div id="example-element">
<p>
<a href="#">example link</a>
</p>
<p>
<svg viewbox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<a xlink:href="#">
<circle
cx="50"
cy="50"
fill="#3E6E84"
r="40"
stroke="#ffb500"
stroke-width="5"></circle>
<text fill="white" text-anchor="middle" x="50" y="55">SVG</text>
</a>
</svg>
</p>
</div>
</section>
#example-element {
font-weight: bold;
}
#example-element a {
color: #009e5f;
}
#example-element svg {
width: 10em;
height: 10em;
}
Syntax
/* Keyword values */
pointer-events: auto;
pointer-events: none;
/* Values used in SVGs */
pointer-events: visiblePainted;
pointer-events: visibleFill;
pointer-events: visibleStroke;
pointer-events: visible;
pointer-events: painted;
pointer-events: fill;
pointer-events: stroke;
pointer-events: bounding-box;
pointer-events: all;
/* Global values */
pointer-events: inherit;
pointer-events: initial;
pointer-events: revert;
pointer-events: revert-layer;
pointer-events: unset;
Die pointer-events
Eigenschaft wird als ein einzelnes Schlüsselwort angegeben, das aus der untenstehenden Liste ausgewählt wird.
Werte
auto
-
Das Element verhält sich so, als ob die
pointer-events
Eigenschaft nicht angegeben wäre. In SVG-Inhalten haben dieser Wert und der WertvisiblePainted
die gleiche Wirkung. none
-
Das Element allein ist niemals das Ziel von Zeigerereignissen. Sein Unterbaum kann jedoch durch das Setzen einer anderen
pointer-events
Wertbelegung anvisierbar bleiben. In diesen Fällen werden Zeigerereignisse beim Durchlaufen der Phasen Erfassung und Blase die entsprechenden Ereignis-Listener auf diesem Elternelement auslösen, sowohl auf dem Hinweg zu einem Nachkommen als auch auf dem Rückweg.Hinweis: Die Ereignisse
pointerenter
undpointerleave
werden ausgelöst, wenn ein Zeigergerät in ein Element oder eines seiner Nachkommen bewegt wird. Auch wennpointer-events: none
auf das Elternelement gesetzt ist und nicht auf die Kinder, werden die Ereignisse auf dem Elternelement ausgelöst, nachdem der Zeiger in einen Nachkommen hinein oder aus ihm heraus bewegt wurde.
Nur SVG (experimentell für HTML)
visiblePainted
-
Nur SVG (experimentell für HTML). Das Element kann nur das Ziel eines Zeigerereignisses sein, wenn die
visibility
Eigenschaft aufvisible
gesetzt ist und z.B. sich ein Mauszeiger über dem Inneren (d.h. 'fill') des Elements befindet und die Eigenschaftfill
auf einen anderen Wert alsnone
gesetzt ist, oder wenn sich ein Mauszeiger über der Umrandung (d.h. 'stroke') des Elements befindet und die Eigenschaftstroke
auf einen anderen Wert alsnone
gesetzt ist. visibleFill
-
Nur SVG. Das Element kann nur das Ziel eines Zeigerereignisses sein, wenn die
visibility
Eigenschaft aufvisible
gesetzt ist und z.B. sich ein Mauszeiger über dem Inneren (d.h. fill) des Elements befindet. Der Wert der Eigenschaftfill
beeinflusst die Ereignisverarbeitung nicht. visibleStroke
-
Nur SVG. Das Element kann nur das Ziel eines Zeigerereignisses sein, wenn die
visibility
Eigenschaft aufvisible
gesetzt ist und z.B. sich der Mauszeiger über der Umrandung (d.h. stroke) des Elements befindet. Der Wert der Eigenschaftstroke
beeinflusst die Ereignisverarbeitung nicht. visible
-
Nur SVG (experimentell für HTML). Das Element kann das Ziel eines Zeigerereignisses sein, wenn die
visibility
Eigenschaft aufvisible
gesetzt ist und z.B. der Mauszeiger entweder über dem Inneren (d.h. fill) oder der Umrandung (d.h. stroke) des Elements liegt. Die Werte der Eigenschaftenfill
undstroke
beeinflussen nicht die Ereignisverarbeitung. painted
-
Nur SVG (experimentell für HTML). Das Element kann nur das Ziel eines Zeigerereignisses sein, wenn z.B. ein Mauszeiger über dem Inneren (d.h. 'fill') des Elements liegt und die Eigenschaft
fill
auf einen anderen Wert alsnone
gesetzt ist oder wenn der Mauszeiger über der Umrandung (d.h. 'stroke') des Elements liegt und die Eigenschaftstroke
auf einen anderen Wert alsnone
gesetzt ist. Der Wert der Eigenschaftvisibility
beeinflusst die Ereignisverarbeitung nicht. fill
-
Nur SVG. Das Element kann nur das Ziel eines Zeigerereignisses sein, wenn der Zeiger über dem Inneren (d.h. fill) des Elements liegt. Die Werte der Eigenschaften
fill
undvisibility
beeinflussen die Ereignisverarbeitung nicht. stroke
-
Nur SVG. Das Element kann nur das Ziel eines Zeigerereignisses sein, wenn der Zeiger über der Umrandung (d.h. stroke) des Elements liegt. Die Werte der Eigenschaften
stroke
undvisibility
beeinflussen die Ereignisverarbeitung nicht. bounding-box
-
Nur SVG. Das Element kann nur das Ziel eines Zeigerereignisses sein, wenn der Zeiger über der Umrandungsbox des Elements liegt.
all
-
Nur SVG (experimentell für HTML). Das Element kann nur das Ziel eines Zeigerereignisses sein, wenn der Zeiger über dem Inneren (d.h. fill) oder der Umrandung (d.h. stroke) des Elements liegt. Die Werte der Eigenschaften
fill
,stroke
undvisibility
beeinflussen nicht die Ereignisverarbeitung.
Beschreibung
Wenn diese Eigenschaft nicht spezifiziert ist, gelten für SVG-Inhalte die gleichen Merkmale wie der Wert visiblePainted
.
Zusätzlich dazu, dass das Element nicht Ziel von Zeigerereignissen ist, weist der Wert none
das Zeigerereignis an, "durch" das Element zu gehen und stattdessen das zu landen, was "darunter" ist.
Beachten Sie, dass das Verhindern, dass ein Element Ziel von Zeigerereignissen wird, durch die Verwendung von pointer-events
nicht notwendigerweise bedeutet, dass die Zeigerereignis-Listener auf diesem Element nicht ausgelöst werden können oder nicht ausgelöst werden. Wenn einem der Kinder des Elements pointer-events
explizit erlaubt wird, dass es das Ziel von Zeigerereignissen sein kann, dann werden alle das Kind anvisierenden Ereignisse den Elternelementpunkt durchlaufen, während das Ereignis entlang der Elternkette weiterreist, und dabei die entsprechenden Ereignis-Listener auf dem Elternelement auslösen. Natürlich wird jede Zeigeraktivität an einem Punkt auf dem Bildschirm, der durch das Elternteil, aber nicht durch das Kind bedeckt wird, weder vom Kind noch vom Elternelement erfasst (es wird "durch" das Elternelement gehen und das darunter anvisieren).
Elemente mit pointer-events: none
erhalten weiterhin den Fokus durch sequentielle Tastaturnavigation mithilfe der Tab-Taste.
Formale Definition
Anfangswert | auto |
---|---|
Anwendbar auf | alle Elemente |
Vererbt | Ja |
Berechneter Wert | wie angegeben |
Animationstyp | diskret |
Formale Syntax
Beispiele
Deaktivierung von Zeigerereignissen bei allen Bildern
Dieses Beispiel deaktiviert Zeigerereignisse (Klicken, Ziehen, Schweben usw.) bei allen Bildern.
img {
pointer-events: none;
}
Deaktivierung von Zeigerereignissen bei einem einzelnen Link
Dieses Beispiel deaktiviert Zeigerereignisse auf dem Link zu http://example.com
.
HTML
<ul>
<li><a href="https://developer.mozilla.org">MDN</a></li>
<li><a href="http://example.com">example.com</a></li>
</ul>
CSS
a[href="http://example.com"]
{
pointer-events: none;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Basic User Interface Module Level 4 # pointer-events-control |
Scalable Vector Graphics (SVG) 2 # PointerEventsProperty |
Browser-Kompatibilität
Siehe auch
user-select
- SVG
pointer-events
Attribut - SVG
visibility
Attribut PointerEvent