戯言

つらつらと気づいたことを書いていきます。人狼とか。

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

emulateIE7と、$(window).keydownはNGな話


IE10を使ってると、「>>1」などの参照表示が出ないって指摘が以前にありました。表示には、overlibというjavascriptのライブラリを使っていたので、おそらく原因は、このライブラリが最近のIEのレンダリングとの互換性がないことです(詳しく調べてないです)。そこで、「IEの互換表示を使って下さい」ってことでお願いしていました。

昨日(7/13)のリリースで、IEではIE7表示を強制するようにしてみました。
変更箇所は、HTMLヘッダで以下を渡すようにしただけです。

X-UA-Compatible: IE=emulateIE7

これで、ブラウザがIE7標準準拠モードとして解釈してくれるので、互換表示に手動設定しなくとも、「>>1」などの参照表示が正常動作することが確認できました。



ところが、今度はShift+↑などが効かないとのご報告。
きっと、IE7互換では、動かないコードがあったのだろうと思ったんだけど、パッと見た感じでは特にバージョン依存になりそうなコードは書いてない。
で、さらに調べていたら、こんなのが。

http://bugs.jquery.com/ticket/10621

$(window).keydownイベントを拾えてないんですね。

W3C DOM2 では、イベントがwindowまでバブリングするようには定められてないので、$(window).keydownを拾えないのは、仕様としては間違いないみたい。
jQueryとしては、仕様とおりに作ってるので、悪くはない。



いろんなサイトや参考書で、$(window).keydownってのを見かけるけどね…。
やっぱり、サイトを参考にするのも良いけど、きちんと元の仕様も読まないとダメですね。

$(window).keydown を $(document).keydown に修正して解決。今度、修正版をリリースします。




スポンサーサイト

アイコン増やしたけど…


今日のメンテナンスで、壱番街のアイコン増やしたんだけど、
さっきアイコン作者さんのページ見たら、さらに追加で増えてたよー!

また、アイコンの結合画像を作りなおさなくては…。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。