2013-06-26 12 views
19

को बदले बिना में केवल पढ़ने योग्य विशेषता का उपयोग करें यदि मेरे पास फ़ील्ड readonly विशेषता वाला फ़ील्ड है, तो यह अभी भी आई-बीम टेक्स्ट कर्सर के साथ दिखाई देता है। क्या कर्सर को दिखाने से रोकने का कोई तरीका है?कर्सर

मैं disabled विशेषता का उपयोग नहीं कर सकता क्योंकि request.getParameter() अक्षम फ़ील्ड पर काम नहीं करता है।

+0

आप कैसे निर्माण कर रहे हैं (जेएसपी कोड? एचटीएमएल कोड?) ''? – acdcjunior

+0

यदि आप स्पष्ट करना चाहते हैं कि आपके कर्सर का मतलब क्या है, तो "माउस कर्सर" बनाम "कीबोर्ड कर्सर" या "[पॉइंटर] (https://en.wikipedia.org/wiki/Pointer_ (graphical_user_interfaces))" बनाम "[देखभाल] (https://en.wikipedia.org/wiki/Caret_navigation) "। टेक्स्ट कर्फ़ी में दोनों कर्सर आई-बीम की तरह दिखते हैं। – Tgr

+1

बस जोड़ना चाहते हैं, 'request.get पैरामीटर() 'काम नहीं कर रहा है क्योंकि यदि आप अपने तत्व को चुनिंदा या इनपुट जैसे" अक्षम "विशेषता सेट करते हैं, तो यह प्रस्तुत नहीं किया जाएगा जब यह एक फॉर्म @ प्रम्सशंकर तिवारी –

उत्तर

4

पाठ क्षेत्र के लिए अपने रूप में इस मार्कअप का प्रयास करें

<input type="text" value="test" onfocus="this.blur()" readonly="readonly" />

मुख्य बात है जो आपको कर्सर छुपाना onFocus = "यह .blur() "।

+1

ओह ... बढ़िया ... मैं इससे पहले कैसे नहीं देख सकता ... फ़ायरफ़ॉक्स में काम करता है लेकिन आईई में इसे धुंधला करने में समय लगता है ... अभी भी एक अच्छा समाधान .. धन्यवाद –

+0

यह परिदृश्य IE के साथ अच्छी तरह से काम नहीं करता है । मैं कर्सर को बूटस्ट्रैप सीएसएस में ओवरराइड करना पसंद करूंगा और 'सीडी पॉइंटर प्रॉपर्टी को '' को 'रीडोनली' के रूप में छोड़कर लिखूंगा। – instinct

26

readonly तत्वों का विचार यह है कि आप अभी भी टेक्स्ट को पढ़ और कॉपी कर सकते हैं, बस उन्हें संपादित नहीं कर सकते हैं। उस ने कहा, आप CSS attribute selectors का उपयोग कर कर्सर को बदल सकते हैं। यह उदाहरण एक readonly विशेषता के साथ किसी भी input तत्व मिलान हो जाएगा:

input[readonly] { 
    cursor: pointer; 
} 
+0

I का एक हिस्सा है। कोशिश की है ... जब आप होवर करते हैं तो यह केवल संबंधित कर्सर दिखाता है ... लेकिन जब आप क्लिक करते हैं .. फ़ील्ड कर्सर हो जाता है .. –

+3

+1 चुनने और कॉपी करने में सक्षम होने के बारे में अच्छा बिंदु! – frequent

+3

यदि यह काम नहीं करता है, तो कर्सर आज़माएं: सूचक! महत्वपूर्ण; यह अधिक मजबूत डिफ़ॉल्ट सेटिंग्स चाहिए। मैं ट्विटर बूटस्ट्रैप के साथ जितना अधिक काम करता हूं उससे ज्यादा परिचित हो जाता हूं। : | –

12

मैं बूटस्ट्रैप के डिफ़ॉल्ट शैलियों को ओवरराइड नहीं करना चाहता था इसलिए मैं निम्नलिखित समाधान के साथ साथ आया था:

मेरे कम फ़ाइल:

input[readonly] { 
    &.default-cursor { 
     cursor: default; 
    } 
} 

या सीएसएस में:

input[readonly].default-cursor { 
    cursor: default; 
} 

मेरे एचटीएमएल :

<input type="text" class="form-control text-xl default-cursor" readonly> 
+0

यह आईटी है, धन्यवाद आदमी!:) –

+0

@ टोटस: बहुत बहुत धन्यवाद! यह सबसे अच्छा जवाब है। – PhatHV

4

उन लोगों के लिए जो बिल्कुल कैरेट दिखाना नहीं चाहते हैं:

input[readonly] { 
    pointer-events: none; 
}