2011-06-28 8 views
6

As I have seen here、フィルタはしかし、これはただのIE9では動作しませんポインタイベント:どれも、フィルタは、IE8で動作していないし、どこでも、

pointer-events: none; 

のクロスブラウザのバージョンをシミュレートするために使用することができIE9ありません、 IE9の "IE8をエミュレートする"バージョンでもそうではありません。しかし、IE8のネイティブインストールでは問題なく処理できます。それはIE9のために働かせるすべての解決策はありますか?

答えて

9

あなたが正しいです - AlphaImageLoaderフィルタはIE9から削除されました。 これは、標準に準拠した方法と競合しないように行われました。この場合、 pointer-events: none、これは now works in IE9です。

条件付きコメントを使用してフィルタフィックスのIEをターゲットにする場合は、IE8以下のターゲットに変更します。は、私は再びこの渡って来ているので、pointer-events: noneは(とにかくないHTML要素のために)IE9で動作しないことが表示されます:<!--[if IE]>

<!--[if lte IE 8]>にある[編集]を変更してみてください。私はこれが機能していると思っていましたが、どちらの方法もIE9上のクリックスルーで動作しません。おそらく私はIE9を互換モードで使用していました。

それはまったく理想的ではないのですが、あなたは<meta>タグスイッチを経由してIE8モードにIE9を強制することができます:誤報のため

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

謝罪、私はこれを検討しておこう。

アップデート2012年9月24日:

素晴らしく便利caniuse.comはHTMLのためのpointer-eventsの詳細情報を持っています。 IE10でのサポートは未知であり、Operaもこのプロパティをサポートしていないようです。あなたが特にWebkit/Mozillaを対象としていない限り、今はpointer-eventsを使用しないことをお勧めします。

+3

この作品はありましたか?私はそれがIE9で動作するように見えることはできません。ドキュメントではSVGについて何か言いますが、他の要素でもうまくいくかどうかは明確ではありません。私は.wrapper {pointer-events:none;} .wrapper * {pointer-events:all;}を持ち、すべてのスタイルは開発者のツールバーに表示されます。 – ablemike

+0

Upvoters - 私の編集した答えをご覧ください。 –

1

ポインタイベントは、Webkit、htmlのmozillaブラウザでのみ動作します。

しかし、ポインタイベントはInternet Explorerのsvg要素で機能します。

あなたはちょうどあなたがSVG要素とdiv要素を置き換えることができ、トップの上にテクスチャのいくつかの並べ替えを追加するために、ポインタイベントを使用している場合は、ポインタ・イベント

の存在をテストする良いmodernizrプラグインhttps://github.com/ausi/Feature-detection-technique-for-pointer-events/blob/master/modernizr-pointerevents.min.jsがあります

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