2014-11-03 16 views
6

Ich versuche, die Zeiger-Ereignisse-Eigenschaft für eine enthaltene div zu überschreiben. Es funktioniert in allem bisher außer IE 11. Angeblich wurde die Pointer-Events-Eigenschaft IE 11 hinzugefügt. Aus irgendeinem Grund wird es jedoch nicht überschreiben.IE 11 Zeiger Ereignisse überschreiben

.divstyle { 
    pointer-events: none; 
} 
.buttonstyle { 
    pointer-events: auto; 
} 

<div class="divstyle"> 
    <table> 
     <tr><td> 
      <input type="button" class="buttonstyle" value="test"> 
     </td></tr> 
     <tr><td> 
      <!-- A BUNCH OF CONTENT THAT I DON'T WANT TO HAVE POINTER EVENTS --> 
     </td></tr> 
     <tr><td> 
      <!-- AND ON AND ON --> 
     </td></tr> 
    </table> 
</div> 

Das gesamte div erlaubt keine Zeigerereignisse, einschließlich der Schaltfläche. Ich würde denken, da das Div die Ereignisse überhaupt nicht hat, unterstützt IE die Eigenschaft pointer-events, aber wenn ich explizit das Kind auf die Ereignisse setze, wird es aus irgendeinem Grund nicht zulassen. Danke für Ihre Hilfe!

+0

Sollten Sie stattdessen die Berührungsaktionsregel (http://msdn.microsoft.com/en-us/library/ie/jj583807(v=vs.85).aspx#control_default_touch) verwenden? –

+0

nicht sicher, das ist auf einem Laptop ohne Touchscreen – wayofthefuture

+1

Ich habe dieses Problem ist gut. – dps

Antwort

5

ich das umgekehrte Problem in IE11 hatte ich pointer-events: none auf einem Elternelement einstellen , aber ein Link in diesem Element reagierte immer noch auf Klicks! Wie sich herausstellte, hatte eine Spanne innerhalb der Verbindung position: relative, wodurch die Zeiger-Ereigniseigenschaft der Eltern ignoriert wurde.

+0

Ja. Guter Punkt. Sieh auch Kinder an. –