2017-07-31 8 views
0

私のリソースフォルダに1つのCSSがあります。私の条件に従ってCSSの値の一部を変更/追加したいのですが、それを取得する方法がわかりません。EXtJSでCSSコンテンツを動的に変更するには

例のコードはここにある

triggers: { 
     clear: { 
      cls: 'Clear-Value', 
      hidden:true, 
      handler: function(){ 
       //some code 
      } 
     } 
    }, 

明確な価値の私のCSSは

.Clear-Value:before { 
    background-color:white !important; } 

は今、私はいくつかの条件でいくつかのCLSSを入れて欲しいです。パディングを追加するか、何か他のものを追加する。

私はCLSを取得しますが、CSSを編集するためにいくつかの助けを必要としています

このような
beforerender: function (cmp, eOpts) { 
     debugger; 
     var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1; 
     if(isFirefox){ 
      this.triggers.clear.cls // Here I am getting Clear-Value 
     } 
    }, 

をしようとしています。誰でもこの問題を解決するのに手助けできますか?

ありがとうございます。

+0

CSSを別のCSSクラス/セレクタ階層に追加して、CSS自体を編集するのではなく、これらのクラスをトリガに追加する方が良いのではないでしょうか?私。あなたのCSSに '.firefox-trigger-padding-fix'を追加して、あなたのトリガclsを 'Clear-Value firefox-trigger-padding-fix'にしますか? –

+0

'.firefox-trigger-padding-fix'はfierfoexに対してのみ動作します。どのように私のCSSが見えるようになります。 – David

+0

あなたのやりたいことに正確に依存します。私はFirefoxのブラウザに明示的なCSSタグがあると確信していますが、私はそれらを手にする必要はありません。そのルートに行くと、ExtのCSSクラスを編集する必要はありません。CSSクラスはすべてCSSで駆動されます。 JSでクラスを追加すると、他のチェックも行うことができます。私が与えた例は、トリガーに '.Clear-Value'と' .firefox-trigger-padding-fix'の両方のトリガーを与えるので、単純な '.firefox-trigger-padding-fix {。 ..} 'セレクタまたは両方を必要とするセレクタ(' .firefox-trigger-padding-fix .Clear-Value {...} ') –

答えて

0

新しいCSSクラスを作成し、Firefoxに必要なスタイルを追加します。ブラウザがFirefoxの場合のみ、コンポーネントクラスリストにこのクラスを追加します。

beforerender: function (cmp, eOpts) { 
     var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1; 
     if(isFirefox){ 
      cmp.addCls('firefox-fix'); 
     } 
}, 

.firefox-fix { padding-top :7px !important; } 

firefox-fix CSSクラスでFirefoxのためのあなたのCSSを追加...これを試してみてください。 私はこれが役立つことを願っています。

+0

' Ext.isGecko'はどうですか? – Alexander

関連する問題