2010-06-21 19 views
15

से स्टाइल संशोधित करें मैंने निष्पादित किया लेकिन केवल एफएफ और क्रोम टेक्स्ट से 0px को ऊपर से और 0px से बाईं ओर ले जाता है लेकिन आईई टेक्स्टरेरा डिफ़ॉल्ट स्थिति में है।जीडब्ल्यूटी

यहाँ मेरी कोड है:

public class MyGWT implements EntryPoint { 

    TextArea ta= TextArea.wrap(DOM.getElementById("t")); 

    public void onModuleLoad() { 

    ta.getElement().setAttribute("style", "position:absolute;top:0px;left:0px;"); 
    } 

} 

कोई बग है या मैं कैसे GWT से शैली विशेषता प्रोग्राम के रूप में परिवर्तित कर सकते हैं ??

उत्तर

28

setAttribute के माध्यम से style सेट न करें। जावास्क्रिप्ट में शैली विशेषता वास्तव में एक सरणी है। इस प्रकार यह निर्भर करता है कि ब्राउज़र कितना स्मार्ट है और समझता है कि आप शैली विशेषताओं को सेट करना चाहते हैं, यह style सेट करके काम करेगा या काम नहीं करेगा।

आपको getElement().getStyle().setProperty() के माध्यम से व्यक्तिगत रूप से शैली विशेषताओं को सेट करना चाहिए। या विशिष्ट विधियों का उपयोग करें, जैसे: ta.getElement().getStyle().setPosition(Position.ABSOLUTE) या सेटप्रोपर्टी विधि के माध्यम से: ta.getElement().getStyle().setProperty("position", "absolute")। और 2 अन्य गुणों के लिए वही। Style कक्षा देखें कि किस विशिष्ट विधि समर्थित हैं।

+1

+1 Google को यह पूछकर इस स्पॉट-ऑन उत्तर को मिला: 'gwt शैली विशेषता यानी सेट नहीं है :) :) – jensgram

2

शैली कक्षाओं का उपयोग करने के बारे में क्या? मेरा मतलब है, आप इस तरह एक शैली वर्ग लिख सकते हैं:

.someClass { 
    position:absolute; 
    top:0px; 
    left:0px; 
} 

और फिर इनलाइन स्टाइल के बिना, TextArea

ta.addStyleName("someClass"); 

यह आपको एक अधिक संक्षिप्त कोड लिखने में मदद मिलेगी के लिए शैली वर्ग जोड़ देते हैं बनाए रखना मुश्किल हो सकता है।

+0

यह बहुत साफ, कम वर्बोज़ और विस्तार योग्य है। निश्चित रूप से – slonik

+0

जाने का तरीका CSSResource के साथ इस दृष्टिकोण को जोड़ें। साफ़ सुथरा। फिर आप ta.addStyleName (CssResource.INSTANCE.someClass()) का उपयोग कर सकते हैं; – StackOverflow