2011-06-28 5 views

Odpowiedz

9

Masz rację - filtr AlphaImageLoader został usunięty z IE9. Dokonano tego, aby nie kolidować z metodami zgodnymi ze standardami. W tym przypadku, pointer-events: none, który now works in IE9.

Jeśli używasz warunkowego komentarza do kierowania na IE dla poprawki filtra, zmień je na docelową tylko IE8 i poniżej. Spróbuj zmienić <!--[if IE]> do <!--[if lte IE 8]>

EDIT: Mam ponieważ zetknąć się z tym ponownie i wydaje się, że pointer-events: none nie działa w IE9 (nie dla elementów HTML w każdym razie). Myślałem, że to działa, ale na ponownym testowaniu żadna z metod nie działa po kliknięciu w IE9. Być może miałem IE9 w trybie zgodności.

To nie jest idealny w ogóle, ale można wymusić IE9 w trybie IE8 za pomocą przełącznika <meta> tag:

<!--[if ie 9]><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"><![endif]--> 

Przeprosiny dla dezinformacji, będę patrząc na to.

Aktualizacja 24 września 2012:

Cudownie przydatne caniuse.com ma więcej informacji na pointer-events HTML. Wsparcie w IE10 jest wciąż nieznane i wygląda na to, że Opera też nie obsługuje tej właściwości. Odradzam na razie używanie pointer-events, chyba że celujesz specjalnie w Webkit/Mozillę.

+3

Czy to działa? Nie mogę sprawić, żeby działało w IE9. Dokumenty mówią coś o SVG, ale nie jest do końca jasne, czy zadziała w przypadku innych elementów. Mam .wrapper {pointer-events: none;} .wrapper * {pointer-events: all;} i wszystkie style są śledzone na pasku narzędzi programisty. – ablemike

+0

Upvoters - zapoznaj się z moją zredagowaną odpowiedzią. –

1

Pointer-events działa tylko w webkitach, przeglądarkach mozilla w html.

Jednak wskaźniki zdarzeń działają na elementy svg w eksploratorze internetowym.

Jest dobry modernizr plugin https://github.com/ausi/Feature-detection-technique-for-pointer-events/blob/master/modernizr-pointerevents.min.js przetestować istnienie wskaźnika-events

Jeśli używasz zdarzenia wskaźnik do wystarczy dodać jakieś tekstury na górze można zastąpić div z elementem svg

if(!Modernizr.pointerevents) 
{ 
    $('#texture').replaceWith('<svg id="texture"/>'); 
} 
Powiązane problemy