2012-05-03 10 views
0

を修正拡大SO私はCSS IEドロップダウンはonclickの

.expand select 
{ 
    width: auto !important; 
} 

も次のCSSを持っていたが、クリックされたのCSSを持っていなかった

if ($j.browser.msie && $j.browser.version < 9) 
    $j("#partDropdown,#categoryDropdown") 
     .live("focus mouseover", function() { $j(this).addClass('expand').removeClass('clicked'); }) 
     .live('click', function() { $j(this).toggleClass('clicked'); }) 
     .live('mouseout', function() { 
      if (!$j(this).hasClass('clicked')) { 
       $j(this).removeClass('expand'); 
      } 
     }) 
     .live('blur', function() { $j(this).removeClass('expand clicked'); }); 

をクリックしたときにIEに拡大し、ドロップダウンのため、この修正プログラムを見つけました?それは必要ですか?またはjqueryは単にクリックされた空のクラスを追加しますか?

if (!$j(this).hasClass('clicked')){...} 

あなたがこのクラスを必要とするすべてです:

+0

このように機能しましたか?試してみて試してみて、それがクリックされたクラスを追加しない場合は、これもうまくいかない場合は、戻って実際の質問をしてください。 – Christoph

+0

ええ、それは私がちょうど彼がクリックされたCSSクラスを追加せずに働いた理由が不思議だった – StevieB

+0

または私は自分のCSSをクリックしたクラスを追加する必要があった場合 – StevieB

答えて

0

clicked級は、あなたがその要素上でのクリックを行った後と、「マウス・外出」崩壊がないようにすることです。 CSSでこのクラスのルールを指定する必要はありません。

0

CSSファイルまたは<style>タグで定義されていないCSSクラスを使用することはできますが、タグのレンダリング方法は変更されません。

タグにメタデータを付けるのは、実際には非常に一般的な方法です。追加や削除が簡単で、クエリには簡単です(たとえばjQueryなどで選択式を使用できます)。この場合、clickedクラスは、ドロップダウンがクリックされたかどうかを保持するために使用されます。それ以外の場合は、乱雑なグローバル変数(またはトリッキーなラムダ関数)が必要です。