Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> HTML

JavaScript के बिना HTML में छवि को ड्रैग/सेलेक्ट होने से रोकें


CSS-ओनली समाधान

JavaScript के बिना छवियों को ड्रैग और सेलेक्ट होने से रोकने के लिए CSS user-select, user-drag, और pointer-events प्रॉपर्टीज का उपयोग करें।

CSS प्रॉपर्टीज

.no-drag-select {
    /* चयन रोकें */
    user-select: none;
    -webkit-user-select: none;  /* Safari/पुराने Chrome */
    -moz-user-select: none;     /* Firefox */
    -ms-user-select: none;      /* IE/Edge Legacy */
    
    /* ड्रैग रोकें */
    user-drag: none;
    -webkit-user-drag: none;    /* WebKit/Blink */
    -moz-user-drag: none;
    
    /* वैकल्पिक: पॉइंटर इवेंट्स पूरी तरह अक्षम करें */
    /* pointer-events: none; */ /* लेकिन फिर क्लिक भी काम नहीं करेंगे */
}

उदाहरण

<!DOCTYPE html>
<html>
<head>
    <style>
        .protected-image {
            user-select: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            
            user-drag: none;
            -webkit-user-drag: none;
            -moz-user-drag: none;
            
            /* वैकल्पिक: कर्सर बदलें */
            cursor: default;
        }
        
        /* तुलना के लिए सामान्य छवि */
        .normal-image {
            cursor: default;
        }
        
        .demo-container {
            display: flex;
            gap: 30px;
            padding: 20px;
            flex-wrap: wrap;
        }
        
        .demo-box {
            text-align: center;
        }
        
        .demo-box img {
            max-width: 300px;
            border: 2px solid #ddd;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        
        .label {
            margin-top: 10px;
            font-weight: bold;
            color: #333;
        }
    </style>
</head>
<body>
    <h2>छवि सुरक्षा तुलना</h2>
    <p>दोनों छवियों को ड्रैग करने और टेक्स्ट की तरह सेलेक्ट करने का प्रयास करें:</p>
    
    <div class="demo-container">
        <div class="demo-box">
            <img src="https://via.placeholder.com/300x200/667eea/ffffff?text=सुरक्षित+छवि" 
                 alt="सुरक्षित छवि" class="protected-image">
            <div class="label">संरक्षित (CSS के साथ)</div>
            <small style="color:#666;">ड्रैग/सेलेक्ट अक्षम</small>
        </div>
        
        <div class="demo-box">
            <img src="https://via.placeholder.com/300x200/764ba2/ffffff?text=सामान्य+छवि" 
                 alt="सामान्य छवि" class="normal-image">
            <div class="label">सामान्य (कोई सुरक्षा नहीं)</div>
            <small style="color:#666;">ड्रैग/सेलेक्ट सक्षम</small>
        </div>
    </div>
</body>
</html>

HTML एट्रिब्यूट विकल्प

<img> पर draggable एट्रिब्यूट:

<!-- ड्रैग अक्षम करें (लेकिन चयन नहीं) -->
<img src="image.jpg" draggable="false" alt="विवरण">

<!-- ड्रैग सक्षम करें (डिफ़ॉल्ट छवियों के लिए true) -->
<img src="image.jpg" draggable="true" alt="विवरण">

संयुक्त दृष्टिकोण (सबसे मजबूत)

<img src="protected.jpg" 
     alt="संरक्षित छवि"
     draggable="false"
     style="
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-drag: none;
        -webkit-user-drag: none;
     ">

सेलेक्ट इवेंट रोकना (JavaScript बैकअप)

यदि CSS पर्याप्त नहीं है (कुछ ब्राउज़र्स/स्थितियों में):

<script>
// सभी छवियों पर चयन रोकें
document.addEventListener('selectstart', (e) => {
    if (e.target.tagName === 'IMG') {
        e.preventDefault();
    }
});

// ड्रैग स्टार्ट रोकें
document.addEventListener('dragstart', (e) => {
    if (e.target.tagName === 'IMG') {
        e.preventDefault();
    }
});

// राइट-क्लिक संदर्भ मेनू रोकें (वैकल्पिक)
document.addEventListener('contextmenu', (e) => {
    if (e.target.tagName === 'IMG') {
        e.preventDefault();
    }
});
</script>

इनपुट फील्ड्स पर ज़ूम रोकना (iOS)

संबंधित मुद्दा: iOS पर फोकस होने पर इनपुट फील्ड्स में ज़ूम होना:

<style>
/* फॉन्ट साइज़ 16px+ सेट करके iOS ज़ूम रोकें */
input, select, textarea {
    font-size: 16px; /* या 1rem */
}

/* या वीडियो मेटा टैग */
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
💡 पहुँच नोट: user-select: none पहुँच को प्रभावित कर सकता है। उपयोगकर्ताओं को टेक्स्ट कॉपी करने की आवश्यकता हो सकती है। केवल छवियों/आइकन्स पर लागू करें, टेक्स्ट सामग्री पर नहीं।
  1. बिना सॉफ्टवेयर के Word दस्तावेज़ से छवियों को कैसे निकालें बिना सॉफ्टवेयर के Word दस्तावेज़ से छवियों को कैसे निकालें

    Microsoft Word हमें आसानी से और बिना किसी रिज़ॉल्यूशन को कम किए छवियां डालने की अनुमति देता है। हम एक ऐसी स्थिति का सामना कर सकते हैं जहां हम केवल छवियों को साझा करना चाहते हैं न कि पूरे दस्तावेज़ को, या हो सकता है कि आपने अपने Windows PC से सभी छवियों को हटा दिया हो और उन्हें Word दस्तावेज़ से वापस

  1. OpenCV का उपयोग करके छवि को रंगीन से ग्रेस्केल में बदलना OpenCV का उपयोग करके छवि को रंगीन से ग्रेस्केल में बदलना

    इस प्रोग्राम में, हम छवि की रंग योजना को rgb से ग्रेस्केल में बदलेंगे। एल्गोरिदम चरण 1: OpenCV आयात करें। चरण 2: imread() का उपयोग करके मूल छवि पढ़ें। चरण 3: cv2.cvtcolor() फ़ंक्शन का उपयोग करके ग्रेस्केल में बदलें। उदाहरण कोड import cv2 image = cv2.imread(colourful.jpg) cv2.imshow(Original, image)

  1. SearchIndexer.exe इस डिवाइस को रोके जाने से रोक रहा है SearchIndexer.exe इस डिवाइस को रोके जाने से रोक रहा है

    सुरक्षित रूप से हार्डवेयर निकालें विंडोज ऑपरेटिंग सिस्टम में एक उपयोगी विशेषता है जो उपयोगकर्ताओं को अपने बाहरी स्टोरेज डिवाइस को सुरक्षित रूप से डिस्कनेक्ट करने देती है। इस सुविधा का उपयोग करने के लिए, फाइल एक्सप्लोरर में अपने स्टोरेज डिवाइस पर राइट-क्लिक करें और इजेक्ट चुनें। वही विकल्प सिस्टम ट्र