2016-10-26 3 views
0

GWTで要素の色を検索しようとしていますが、何も取得していません(空の文字列)が返されました。私の問題は何ですか?位置は(問題がロギングとはないことを示す)「絶対」として示されている一方、空の文字列としてGWTで要素の色を取得

import com.google.gwt.core.client.EntryPoint; 
import com.google.gwt.core.client.Scheduler; 
import com.google.gwt.core.client.Scheduler.ScheduledCommand; 
import com.google.gwt.user.client.ui.Anchor; 
import com.google.gwt.user.client.ui.RootLayoutPanel; 

public class Test implements EntryPoint { 
    Anchor a = new Anchor("Anchor"); 

    @Override 
    public void onModuleLoad() { 
      RootLayoutPanel.get().add(a); 

      Scheduler.get().scheduleDeferred(new ScheduledCommand() {  
       @Override 
       public void execute() { 
        log(a.getElement().getStyle().getColor());      
        log(a.getElement().getStyle().getVisibility()); 
        log(a.getElement().getStyle().getPosition());      
       } 
      }); 
    } 

    static native void log(String message) /*-{ 
    console.log(message); 
    }-*/; 
} 

コンソールディスプレイの色および可視性:次のコードは、問題を示しています。結果はChromeとFirefoxで同じです。

+0

「getComputedStyle」を試してください。たぶん、このポストはあなたを助けるでしょう:http://stackoverflow.com/questions/21797258/getcomputedstyle-like-javascript-function-for-ie8 – Adam

答えて

1

これは、その要素がstyle属性に直接設定された色を持たないことを意味します。 CSSクラスやブラウザのデフォルトから色を取得できます。

+0

このアプローチは、DOMを見て、どのように要素がレンダリングされて取得しないのですか?私は驚いている。レンダリング情報はどのように入手できますか? (私の状況は、HTMLページ内にキャンバスがあることです。ページスタイルは、代替CSSシートを使用して動的に設定されます。 – Oswulf