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

JavaScript से इनपुट फील्ड में कैप्स लॉक ऑन है या नहीं पता करें

JavaScript का उपयोग करके इनपुट फील्ड में कैप्स लॉक (Caps Lock) ऑन है या नहीं पता करने का कोड नीचे दिया गया है।

उदाहरण

<!DOCTYPE html> 
<html> 
<head> 
  <style> 
    #textBox { display: none; color: red; } 
  </style> 
</head> 
<body> 
  <h1>कैप्स लॉक डिटेक्शन उदाहरण</h1> 
  <input class="inputfield" value="कुछ टेक्स्ट.." /> 
  <h2>ऊपर दिए गए इनपुट फील्ड में कैप्स लॉक दबाकर चेतावनी देखें</h2> 
  <h2 class="textBox">चेतावनी! कैप्स लॉक ऑन है।</h2> 
  <script> 
    var input = document.querySelector(".inputfield"); 
    var textBox = document.querySelector(".textBox"); 
    input.addEventListener("keyup", event => { 
      if (event.getModifierState("CapsLock")) { 
        textBox.style.display = "block"; 
      } else { 
        textBox.style.display = "none"; 
      } 
    }); 
  </script> 
</body> 
</html>

आउटपुट

उपरोक्त कोड निम्नलिखित आउटपुट उत्पन्न करेगा:

JavaScript से इनपुट फील्ड में कैप्स लॉक ऑन है या नहीं पता करें

कैप्स लॉक ऑन करके इनपुट फील्ड में टाइप करने पर:

JavaScript से इनपुट फील्ड में कैप्स लॉक ऑन है या नहीं पता करें

getModifierState() मेथड:

event.getModifierState(key)
  • पैरामीटर - मॉडिफायर की नाम: "CapsLock", "Shift", "Control", "Alt", "Meta", "NumLock", "ScrollLock"
  • रिटर्न - true अगर मॉडिफायर सक्रिय है, false अन्यथा
  • सपोर्ट - सभी आधुनिक ब्राउज़र्स

व्यावहारिक उपयोग - पासवर्ड फील्ड में चेतावनी:

const passwordInput = document.getElementById('password');
const capsWarning = document.getElementById('caps-warning');

passwordInput.addEventListener('keyup', (e) => {
  if (e.getModifierState('CapsLock')) {
    capsWarning.style.display = 'block';
    capsWarning.textContent = '⚠️ कैप्स लॉक ऑन है - पासवर्ड केस-सेंसिटिव है';
  } else {
    capsWarning.style.display = 'none';
  }
});

// फोकस पर भी चेक करें
passwordInput.addEventListener('focus', (e) => {
  if (e.getModifierState('CapsLock')) {
    capsWarning.style.display = 'block';
  }
});

CSS-ओनली विकल्प (सीमित):

/* केवल :focus-within और सिबलिंग सेलेक्टर के साथ संभव, भरोसेमंद नहीं */
input:focus + .caps-warning::after {
  content: "कैप्स लॉक चालू है";
}

बेस्ट प्रैक्टिस:

  • keyup इवेंट - keypress डिप्रिकेटेड है, keyup उपयोग करें
  • फोकस पर भी चेक - यूजर कैप्स लॉक ऑन करके फोकस कर सकता है
  • पासवर्ड फील्ड्स - विशेष रूप से पासवर्ड फील्ड्स के लिए महत्वपूर्ण
  • नॉन-इनट्रूसिव - चेतावनी डिसमिसिबल होनी चाहिए, ब्लॉकिंग नहीं

ब्राउज़र सपोर्ट:

सभी आधुनिक ब्राउज़र्स (Chrome 37+, Firefox 32+, Safari 10+, Edge 12+)

  1. जावास्क्रिप्ट में टेक्स्ट इनपुट फील्ड में ENTER की डिटेक्ट करना जावास्क्रिप्ट में टेक्स्ट इनपुट फील्ड में ENTER की डिटेक्ट करना

    आप ENTER की के लिए keyCode 13 का उपयोग कर सकते हैं। आइए पहले इनपुट बनाएं -अब, ENTER की डिटेक्ट करने के लिए keyCode के साथ on() का उपयोग करें। पूरा कोड निम्नलिखित है -उदाहरण  Document $(#txtInput).on(keyup, function (event) { if (event.keyCode === 13) { console.log(Enter key pressed!!

  1. CSS से इनपुट फील्ड वाले नेविगेशन मेनू कैसे बनाएं? CSS से इनपुट फील्ड वाले नेविगेशन मेनू कैसे बनाएं?

    नेविगेशन बार में दाईं ओर एक सर्च इनपुट फील्ड जोड़ा गया है। डार्क बैकग्राउंड, बैंगनी लिंक, और होवर पर ग्रे हाइलाइट के साथ यह एक क्लीन हेडर प्रदान करता है। उदाहरण <!DOCTYPE html> <html> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initi

  1. CSS/JS से फोकस पर इनपुट फील्ड कैसे क्लियर करें? CSS/JS से फोकस पर इनपुट फील्ड कैसे क्लियर करें?

    इनलाइन JavaScript onfocus=this.value= का उपयोग करके फोकस पर इनपुट का मान क्लियर किया जा सकता है। यह प्लेसहोल्डर-जैसा व्यवहार देता है लेकिन वास्तविक मान के साथ। उदाहरण <!DOCTYPE html> <html> <head> <h1>Clearing an input field on focus example</h1> <input type=te