Ist es möglich, dass das untergeordnete Element eines Div auf Zeigerereignisse gesetzt ist: Keine Zeigerereignisse?

72

Ist es möglich, dass das untergeordnete Element eines Div auf Zeigerereignisse gesetzt ist: Keine Zeigerereignisse?

Ich brauche das Div, das ein anderes Div enthält, damit Zeigerereignisse passieren können, aber das Div selbst muss noch Ereignisse haben.

Ist das möglich?

schick
quelle

Antworten:

136

Ja, das ist möglich, und Sie haben im Grunde nur beschrieben, wie. Deaktivieren Sie es für die Eltern und aktivieren Sie es für das Kind:

CSS:

.parent {
  pointer-events:none;        
}
.child {
    pointer-events:all;
}

HTML:

  <div class="parent">
    <a href="#">Parent</a>
    <div class="child">
      <a href="#">Child</a>        
    </div>
  ​</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

http://jsfiddle.net/4gQkT/

Brandon
quelle
3
wooo, danke, ich war mir des möglichen allWertes einfach nicht bewusst .
Lust auf den
Beachten Sie jedoch: Die Verwendung von Zeigerereignissen in CSS für Nicht-SVG-Elemente ist experimentell. Die Funktion war früher Teil des Entwurfs der CSS3-Benutzeroberfläche, wurde jedoch aufgrund vieler offener Probleme auf CSS4 verschoben. developer.mozilla.org/en-US/docs/CSS/pointer-events
KooiInc
Darüber hinaus wird es von Internet Explorer nicht unterstützt (nicht einmal IE10).
Strah
4
Ich hätte nicht gedacht, dass dies möglich wäre, wenn man bedenkt, wie es z-indexfunktioniert.
Jonny
12
MDN sagt, pointer-events:allist nur SVG. Während dies funktioniert, pointer-events:autokönnte klarer sein.
Bernard
3

Fügen Sie im Stil des untergeordneten Elements hinzu

pointer-events: auto;

pointer-events: all hat bei mir nicht funktioniert und gilt anscheinend nur für SVG-Elemente.

Benson
quelle