2009-04-22 12 views
19

मान लें कि मेरे पास रैपर div है जिसमें कुछ लिंक और छवियां शामिल हैं, क्या कोई तरीका है कि मैं इसे केवल सीएसएस के साथ निष्क्रिय कर सकता हूं?मैं सीएसएस के साथ एक क्षेत्र को अटूट कैसे कर सकता हूं?


उत्तरों की समीक्षा के बाद:
मैं विचार है कि यह केवल सीएसएस के साथ कर सकते हैं गिरा दिया। jQuery ब्लॉकयूआई प्लग में आकर्षण की तरह काम करता है।

उत्तर

6

यदि आप jQuery का उपयोग करने जा रहे हैं, तो आप आसानी से ब्लॉकयूआई प्लगइन के साथ इसे पूरा कर सकते हैं। ... या सीएसएस के साथ अपने प्रश्न का उत्तर देने के लिए, आपको उस सामग्री पर div को पूरी तरह से रखना होगा जिसे आप ब्लॉक करना चाहते हैं। ज़ेड-इंडेक्सिंग उद्देश्यों के लिए सामग्री को अवरुद्ध करने के बाद बस सुनिश्चित करें कि पूरी तरह से स्थित div।

<div style="position:relative;width: 200px;height: 200px;background-color:green"> 
    <div> 
     <a href="#">Content to be blocked.</a> 
    </div> 
    <div style="position: absolute;top:0;left:0;width: 200px;height:200px;background-color: blue;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div> 
</div> 

सभी इनलाइन सीएसएस के लिए खेद है। आपको कुछ अच्छी कक्षाएं करनी होंगी। इसके अलावा, यह केवल फ़ायरफ़ॉक्स और आईई 7 में परीक्षण किया गया है।

4

इसे एक और गैर-क्लिक करने योग्य तत्व के साथ कवर करें। इस "कवर" को चालू और बंद टॉगल करने के लिए आपको जावास्क्रिप्ट का उपयोग करने की आवश्यकता हो सकती है। आप इसे कुछ अर्ध-पारदर्शी या कुछ भी बनाने जैसे चालाक कर सकते हैं।

<style> 
    #cover {position:absolute;background-color:#000;opacity:0.4;} 
</style> 

<div id="clickable-stuff"> 
    ... 
</div> 
<div id="cover"> 
</div> 

<script type="text/javascript"> 
    function coverUp() { 
     var cover = document.getElementById('cover'); 
     var areaToCover = document.getElementById('clickable-stuff'); 
     cover.style.display = 'block'; 
     cover.style.width = //get areaToCover's width 
     cover.style.height = //get areaToCover's height 
     cover.style.left = //get areaToCover's absolute left position 
     cover.style.top = //get areaToCover's absolute top position 
    } 

    /* 
     Check out jQuery or another library which makes 
     it quick and easy to get things like absolute position 
     of an element 
    */ 
</script> 
0

आप उन पर क्लिक मतलब यदि ऐसा है कि उपयोगकर्ताओं को कॉपी नहीं कर सकते और पेस्ट करें या किसी भी तरह डेटा सहेजते हैं। नहीं, यह कभी संभव नहीं हुआ है। वे सभी साइटें जो ध्वनि बनाती हैं उन्हें लगता है कि उनके पास बचत चीजों को अवरुद्ध करने का कोई तरीका नहीं है और वास्तव में वे जो भी उपाय करते हैं, वे आसानी से काम करते हैं।

1

आपको jQuery के event.preventDefault फ़ंक्शन को लागू करने पर विचार करना चाहिए। यहाँ आप एक उदाहरण देख सकते हैं:

http://api.jquery.com/event.preventDefault/

टी एल; DR-संस्करण:

$("#element-to-block").click(function(event) { 
    event.preventDefault(); 
} 

BAM!

114

वहाँ उस के लिए एक CSS नियम है, लेकिन यह व्यापक रूप से है क्योंकि पुराने ब्राउज़र का उपयोग नहीं किया जाता

pointer-events: none;

+2

दमित्री! आपका छोटा और प्यारा उत्तर मेरी समस्या का समाधान करता है। धन्यवाद –

+0

आह! मैं चाहता था कि यह फ़ायरफ़ॉक्स पर भी काम करे! – streetlight

+0

कमाल! धन्यवाद – Vimalnath

8

इन दिनों समर्थन तुम सिर्फ सामग्री पर एक छद्म तत्व की स्थिति कर सकते हैं।

.blocked 
{ 
    position:relative; 
} 
.blocked:after 
{ 
    content: ''; 
    position: absolute; 
    left:0; 
    right:0; 
    top:0; 
    bottom:0; 
    z-index:1; 
    background: transparent; 
} 

http://jsfiddle.net/HE5wR/27/

+0

क्यों नहीं किया गया है: काम के बाद? – Chloe

+0

क्योंकि '.ब्लॉक ए के साथ: छद्म-तत्व के बाद आप div को डालकर लिंक का हिस्सा हैं, इसलिए यह पूरे div-area को क्लिक करने के बजाए क्लिक करने योग्य बनाता है। – towr

+0

अब यह कैसे निकलता है। सीएसएस के बावजूद पूरा 'div' क्लिक करने योग्य नहीं है, केवल लिंक है। Http://jsfiddle.net/HE5wR/26/ देखें। वैसे, आपको अपनी जावास्क्रिप्ट में 'isn't' के साथ कोई त्रुटि नहीं थी जो समय-समय पर स्ट्रिंग को समाप्त कर देता था और कंसोल त्रुटि देता था। मुझे लगता है कि आप कह रहे हैं कि छद्म-तत्व भी 'गर्म' है और इसलिए मूल लिंक के शीर्ष पर होने के बावजूद एक लिंक के रूप में कार्य करता है। – Chloe

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

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