2011-06-28 12 views
5

मैंने गुगल किया और नेट पर निम्नलिखित कोड प्राप्त किए। हालांकि, जब मैं कीबोर्ड कुंजी दबाता हूं, तो यह मुझे एक अलर्ट बॉक्स प्रदर्शित नहीं कर रहा है। मैं यह जानना चाहता हूं कि मैंने कौन सा किरदार अलर्ट बॉक्स में दबाया है। मैं यह कैसे तय करुं?मैं कीबोर्ड की घटनाओं को कैप्चर कैसे कर सकता हूं, किस कुंजी से?

<script type="text/javascript"> 

var charfield=document.getElementById("char") 
charfield.onkeydown=function(e){ 
var e=window.event || e; 
alert(e.keyCode); 
} 

</script> 
</head> 

<body id="char"> 

</body> 
</html> 
+0

शायद यह होगा:

charfield.addEventListener('keydown', function (e) { alert(e.keyCode); }, false); 

आप attachEvent के लिए खाते में करने के साथ ही चाहते हैं:

सबसे अच्छा अभ्यास तो जैसे (इंटरनेट एक्सप्लोरर के पुराने संस्करणों में या attachEvent) addEventListener उपयोग करने के लिए है सहायक रहें: http://stackoverflow.com/questions/302122/jquery-event-keypress-which-key-was-pressed – Kamil

उत्तर

7

प्रयास करने पर आपको keypress घटना नहीं बल्कि का उपयोग करना चाहिए keydown घटना से अधिक। निम्नलिखित की तरह कुछ:

var charfield = document.getElementById("char"); 
charfield.onkeypress = function(e) { 
    e = e || window.event; 
    var charCode = (typeof e.which == "number") ? e.which : e.keyCode; 
    if (charCode > 0) { 
     alert("Typed character: " + String.fromCharCode(charCode)); 
    } 
}; 
1

आप करेंगे उचित कुंजी कोड प्राप्त: आप चरित्र टाइप किया प्राप्त करना चाहते हैं

charfield.onkeydown=function(evt){ 
    var keyCode = (evt.which?evt.which:(evt.keyCode?evt.keyCode:0)) 
    alert(keyCode); 
} 
5

इस jQuery कोड

$("body").keypress(function(e){ 
     alert(e.which); 
    }); 
0

मैं बंद मेरे सिर के ऊपर है, जिसमें DOM तत्व की "किसी घटना पर" विधि का उपयोग करने उस तत्व पर घटनाओं से निपटने के लिए एक अच्छा स्थिति के बारे में सोच नहीं कर सकते।

(function (useListen) { 
    if (useListen) { 
     charfield.addEventListener('keydown', alertKeyCode, false); 
    } else { 
     charfield.attachEvent('onkeydown', alertKeyCode); 
    } 
})(charfield.addEventListener); 

function alertKeyCode(e) { 
    alert(e.keyCode); 
} 
संबंधित मुद्दे

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