2010-10-10 6 views
11

मैं सफलता के बिना दोनों ओपेरा 10.62 और IE9 के लिए user-select लागू करने के लिए कोशिश कर रहे हैं। नहीं मैं/जावास्क्रिप्ट कि preventDefault() के साथ घटनाओं के लिए बाध्य नहीं कर सकते हैं, तो कई स्थानों पर देखते हैं unselectable स्थापित किया जाना और मैं अभी भी कई स्थानों पर चयन को बनाए रखने की जरूरत है क्योंकि। वास्तव में, मैं डिफ़ॉल्ट व्यवहार पूरे दस्तावेज़ के लिए unselectable होना चाहता हूँ, और उस के लिए के रूप में मैं निर्धारित किया है मेरी स्टाइलशीट में निम्नलिखित:क्या ओपेरा 10.62 और आईई 9 के लिए उपयोगकर्ता-चयन है?

* { 
    -o-user-select: none; 
    -webkit-user-select: none; 
    -moz-user-select: -moz-none; 
    -khtml-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
} 

सब कुछ फ़ायरफ़ॉक्स 4, क्रोम और सफारी 7 5. साथ अच्छा काम करता है केवल आईई 9 और ओपेरा 10.62 काम नहीं कर रहे हैं क्योंकि मैं उन्हें पसंद करूंगा। कोई विचार?

पुनश्च: मैं आधुनिक ब्राउज़रों लक्षित कर रहा हूँ। आप ::selection {color:currentColor;background:transparent} का उपयोग करके देखें

+0

देखें: http://stackoverflow.com/questions/826782/css-rule-to-disable-text-selection-highlighting – mahalie

उत्तर

7

किया?
Firefox के लिए आप ::-moz-selection उपयोग कर सकते हैं।

https://developer.mozilla.org/En/CSS/::selection
http://msdn.microsoft.com/en-us/library/ff974109(v=VS.85).aspx
http://reference.sitepoint.com/css/pseudoelement-selection


// अद्यतन //
वहाँ भी है unselectable संपत्ति।

+1

हाँ, लेकिन यह है कि है वास्तव में अच्छा नहीं है क्योंकि यह सिर्फ चयन छुपाता है। आप अभी भी चयन खींच सकते हैं और इसे कॉपी कर सकते हैं। – Tower

+0

मेरे अपडेट की जांच करें - और https://developer.mozilla.org/en/CSS/-moz-user- चुनें "चयन की उपस्थिति (केवल) को नियंत्रित करता है। इसका वास्तविक चयन ऑपरेशन पर कोई प्रभाव नहीं पड़ता है।" – Knu

+1

-उसर-चयन गुणों का एक संयोजन और अचयनित मेरे लिए क्रॉस-ब्राउज़र का इलाज किया। – ajcw

2

उपयोगकर्ता के चयन के लिए एक मानक CSS3 संपत्ति है, जिसके कारण वहाँ नहीं है कोई उपयोगकर्ता के चयन करें या -ओ-उपयोगकर्ता के चयन करें या एमएस-उपयोगकर्ता के लिए इसे चुनें। यह पुराने यूजर इंटरफेस स्पेक में होता था, लेकिन इसे मूल यूआई स्पेक द्वारा हटा दिया गया था। यह संभवत: किसी भी ब्राउज़र द्वारा लागू नहीं किया जाएगा, जब तक कि यह spec पर वापस नहीं जोड़ा जाता है।

उपयोगकर्ता चयन शैली के बजाय एक व्यवहार है, इसलिए जावास्क्रिप्ट का उपयोग करना सबसे अच्छा है। चूंकि ऊपर क्यू का उल्लेख है, आप इसके बजाय अचयनित उपयोग कर सकते हैं।

+3

में काम नहीं करेगा लेकिन क्या भयानक बात यह है कि बच्चों को 'अचयनित' का वारिस नहीं मिलता है। तो, मुझे इसे मैन्युअल रूप से बहुत अधिक सब कुछ के लिए लागू करने की आवश्यकता होगी। मेरे पास यहां और वहां टेक्स्ट के साथ एक एप्लिकेशन है, और डिफ़ॉल्ट रूप से मैं सब कुछ अचयनित करना चाहता हूं। केवल जब मैं विशेष रूप से चयन चाहता हूं, तो मैं उन्हें परिभाषित कर दूंगा। यह दृष्टिकोण 'अचयनित 'के साथ लागू नहीं किया जा सकता है। साथ ही, यदि आप उस तत्व पर चयन शुरू करते हैं तो संपत्ति काम करती है। Ctrl + ए, आदि 'अचयनित' के साथ काम करेंगे। – Tower

+0

असल में ओपेरा में '-o-user-select' है। यकीन नहीं है कि कौन सा संस्करण लेकिन मुझे लगता है कि 10.6 था। –

+1

@ टिम डाउन: मुझे पूरा यकीन है कि ओपेरा---user-select का समर्थन नहीं करता है। यह हमारे spec http://www.opera.com/docs/specs/presto29/css/o-vendor/ में सूचीबद्ध नहीं है और यह ओपेरा ड्रैगनफ्लाई में भी दिखाई नहीं देता है। –

4

के रूप में मैं यहाँ वर्णित आप -webkit-user-select: none;, -moz-user-select: none; के संयोजन और विशिष्ट संपत्ति unselectable="on" उपयोग कर सकते हैं:

How to make text unselectable on HTML page

+0

आईई 9 और 8 में काम नहीं करेगा, सिर्फ – dude

0

jQuery का उपयोग करना:

$('.element').mousedown(function(e) { 
    e.preventDefault(); 
}); 

लेकिन आप इसे दोनों में जोड़ने के लिए हो सकता है तत्व और इसके कंटेनर।

0

-ms-user-select: none;

अब ठीक से काम करने लगता है (आईई 10/11)

+0

वाह विशेषता है! मैंने सोचा था कि IE11 को ब्राउज़र विशिष्ट हैक्स की आवश्यकता के बिना आधिकारिक मानकों का समर्थन करना था! जब उन्होंने इसके लिए समर्थन प्रस्तुत किया, तो ब्राउज़र उपसर्ग के बिना मानक पर सीधे क्यों नहीं जाते ?? !!! (और हाँ - मैंने आईई 11 में परीक्षण किया; यह केवल *** के साथ *** -ms-'उपसर्ग के साथ काम करता है) – awe

संबंधित मुद्दे