2008-01-11 (金)
■ csshover.htc を使うと 〜onhover といったクラスが裏で追加される
話の要点としては、 csshover.htc を使うとクラス名がいつのまにか変わったりするので注意しましょう、ということ。 といっても、これだけでは何のことやらさっぱり分からないと思うので、 今回はまったことを具体的に書いておく。
<div id="treemenu"> ...... <li class="collapsed"> ...... </li> ...... </div>
のような HTML を書き、treemenu のところに onclick を設定していた。 その後で、treemenu 内のどの要素がクリックされたのかを、
if (element.className == "collapsed") {
......
}
のように判別して処理していた。 ところが、スタイルシートに次のような設定を追加した途端、IE で動かなくなってしまった。
li.collapsed:hover {
background-color: #cdf;
}
クリックした時の element.className の値を調べてみると、
collapsed collapsedonhover
のように、元々の collapsed というクラスに加え、collapsedonhover というクラスがなぜか追加されている。 ところが、IE 以外のブラウザで試してみると、普通に collapsed という値だけが返って来た。
ここに来てようやく、csshover.htc を組み込んでいるのが原因じゃないかと思い至ったので、 試しに csshover.htc を外してみたところ、案の定動くようになった。 しかし csshover.htc は組み込んでおきたいので、結局、クラス名を判定している箇所を、
if (element.className.indexOf("collapsed") == 0) {
......
}
のように、前方一致で比較するように書き換えることで対処した。
と、まぁ、csshover.htc は有用なのだけれど、 結構こうやってだましだまし使わないといけない気がする。 最近公開された IE7.js を使う方がいいのかなぁ?
[コメントを書く]
本日のリンク元
- 86 http://luvsic.net/item/44
- 37 google検索(csshover.htc)
- 31 http://www.yomotsu.net/lab/javascripts/ie6csshover...
- 12 google検索(csshover.htc)
- 12 google検索(csshover)
- 11 google検索(csshover.htc)
- 11 google検索(csshover.htc)
- 10 google検索(csshover.htc)
- 8 google検索(csshover.htc)
- 7 google検索(csshover.htc)
- 5 google検索(csshover.htc)
- 4 http://www.revulo.com/
- 4 google検索(onhover)
- 4 google検索(csshover)
- 4 google検索(csshover.htc)
- 4 google検索(csshover.htc)
- 4 google検索(csshover)
- 3 google検索(csshover.htc)
- 3 google検索(csshover)
- 3 google検索(javascript csshover.htc)
- 3 google検索(csshover.htc)
- 3 google検索(csshover.htc)
- 3 google検索(javascript onhover)
- 3 google検索(csshover)
- 3 google検索(HTC javascript)
- 3 google検索(XREA .htc ファイル)
- 3 google検索(csshover.htc)
- 3 google検索(csshover.htc)
- 3 google検索(csshover)
- 2 google検索(csshover)
- 2 google検索(csshover)
- 2 google検索(csshover.htc)
- 2 google検索(csshover.htc)
- 2 google検索(csshover)
- 2 google検索(csshover)
- 2 google検索(on-hover)
- 2 google検索(csshover.htc ie7.js)
- 2 google検索(csshover)
- 2 google検索(csshover)
- 2 google検索(csshover)
- 2 google検索(csshover.htc)
- 2 google検索(csshover.htc)
- 2 google検索(csshover javascript)
- 2 google検索(csshover)
- 2 google検索(csshover)
- 2 google検索(csshover.htc)
- 2 google検索(onHover)
- 2 google検索(csshover.htc)
- 2 google検索(csshover)
- 2 google検索(csshover)
- 2 google検索(csshover.htc)
- 2 google検索(csshover)
- 2 google検索(csshover.htc)
- 2 google検索(csshover)
- 2 google検索(csshover.htc)
- 2 google検索(csshover.htc)
- 2 google検索(treeview.htc)
- 2 google検索(csshover.htc jquery)
- 2 google検索(csshover.htc )
- 2 google検索(csshover.htc)
- 2 google検索(csshover.htc)
- 2 google検索(csshover.htc)
- 2 google検索(csshover.htc 設定)
- 2 google検索(csshover.htc)
- 2 http://www.google.co.jp/ie?q=csshover&num=20&hl=ja...
- 2 http://www.google.co.jp/hws/search?hl=ja&q=csshove...
- 2 http://www.google.co.jp/hws/search?hl=ja&q=csshove...
- 2 http://72.14.235.132/search?q=cache:IZKCHLGXN1wJ:w...
- 2 http://209.85.175.104/search?q=cache:IZKCHLGXN1wJ:...
- 1 google検索(treemenu zend)
- 1 google検索(csshover.htc )
- 1 google検索(csshover.htc)
- 1 google検索(csshover.htc)
- 1 google検索(csshover.htc)
- 1 google検索(csshover.htc)
- 1 google検索(csshover.htc)
- 1 google検索(onHover)
- 1 google検索(htcとは javascript)
- 1 google検索(csshover.htc)
- 1 google検索(csshover.htc)
- 1 google検索(OnHover)
- 1 google検索(csshover.htc)
- 1 google検索(csshover.htc)
- 1 google検索(javascript class 追加)
- 1 google検索(onhover javascript)
- 1 google検索(csshover バグ)
- 1 google検索(csshover.htc )
- 1 google検索(onhover)
- 1 google検索(jquery class名 正規表現)
- 1 google検索(csshover.htc)
- 1 google検索(csshover)
- 1 google検索(csshover)
- 1 google検索(csshover 注意)
- 1 google検索(onhover javascript)
- 1 google検索(csshover.htc)
- 1 google検索(javascript htc)
- 1 google検索(htc css csshover)
- 1 google検索(csshover.htc)
- 1 google検索(javascript class名追加)
- 1 google検索(javascript htc)
