2010-12-11 13 views
25

मैं जावास्क्रिप्ट में कीबोर्ड इनपुट लेना चाहता हूं, जहां तीर कुंजी दबाए जाने पर, परिणामस्वरूप किसी विशेष आकार के आकार में परिवर्तन होगा। मैं जावास्क्रिप्ट में किसी भी कुंजी का इनपुट कैसे ले सकता हूं?जावास्क्रिप्ट में कीबोर्ड इनपुट कैसे लें?

+2

यह एक ब्राउज़र में किया जाना है? यदि ऐसा है तो आप कीबोर्ड घटनाओं को कैप्चर कर सकते हैं। – ocodo

+1

हाँ ब्राउज़र पर – Hick

उत्तर

56

आप दस्तावेज़ पर registering an event handler या ऐसा कोई तत्व जो आप कीस्ट्रोक देखना चाहते हैं और key related properties of the event object पर जांच कर सकते हैं।

उदाहरण है कि एफएफ और WebKit- आधारित ब्राउज़र में काम करता है:

document.addEventListener('keydown', function(event) { 
    if(event.keyCode == 37) { 
     alert('Left was pressed'); 
    } 
    else if(event.keyCode == 39) { 
     alert('Right was pressed'); 
    } 
}); 

DEMO

+1

आईई समकक्ष जोड़ने के लिए एक अच्छी बात होगी। –

+2

कुछ भी है कि मैं बैकस्पेस कब्जा लेकिन ब्राउज़र को "वापस जाएं" को रोकने के लिए क्या कर सकते हैं theres? –

+0

@Vitimtk: क्षमा करें, मैं वास्तव में समय नहीं है अब, लेकिन इन सवालों पर एक नजर है: http://stackoverflow.com/search?q=javascript+disable+backspace+navigation –

6

आप एक ब्राउज़र में यह कर रहे हैं, तो आप कीबोर्ड की घटनाओं पर कब्जा कर सकते हैं।

  • keydown
  • कुंजी दबाने
  • KeyUp

सभी अधिकांश ब्राउज़र में एचटीएमएल नोड्स पर बात सुनी जा सकता है।

वेबकिट भी समर्थन करता है ...

  • TextInput

अधिक जानकारी के लिए देखें .. http://unixpapa.com/js/key.html

1

आप या खिड़की पर एक ईवेंट हैंडलर किसी भी तत्व है कि आप चाहते हैं रजिस्टर चाहिए कीस्ट्रोक का निरीक्षण करें, और keyCode के बजाय मानक key values का उपयोग करें। MDN से यह संशोधित कोड keydown करने के लिए जब बाईं, सही, ऊपर या नीचे तीर कुंजी दबाया जाता है जवाब देंगे:

window.addEventListener("keydown", function (event) { 
 
    if (event.defaultPrevented) { 
 
    return; // Do nothing if the event was already processed 
 
    } 
 

 
    switch (event.key) { 
 
    case "ArrowDown": 
 
     // code for "down arrow" key press. 
 
     break; 
 
    case "ArrowUp": 
 
     // code for "up arrow" key press. 
 
     break; 
 
    case "ArrowLeft": 
 
     // code for "left arrow" key press. 
 
     break; 
 
    case "ArrowRight": 
 
     // code for "right arrow" key press. 
 
     break; 
 
    default: 
 
     return; // Quit when this doesn't handle the key event. 
 
    } 
 

 
    // Cancel the default action to avoid it being handled twice 
 
    event.preventDefault(); 
 
}, true); 
 
// the last option dispatches the event to the listener first, 
 
// then dispatches event to window

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