मैं यह पता लगाना चाहूंगा कि शुद्ध जावास्क्रिप्ट में क्रॉस-ब्राउज़र संगत तरीके से किस वर्ण कुंजी को दबाया गया है।
event.key
सीधे आपको दिए गए चार
मैं यह पता लगाना चाहूंगा कि शुद्ध जावास्क्रिप्ट में क्रॉस-ब्राउज़र संगत तरीके से किस वर्ण कुंजी को दबाया गया है।
event.key
सीधे आपको दिए गए चार
जवाबों:
"स्पष्ट" जावास्क्रिप्ट:
<script type="text/javascript">
function myKeyPress(e){
var keynum;
if(window.event) { // IE
keynum = e.keyCode;
} else if(e.which){ // Netscape/Firefox/Opera
keynum = e.which;
}
alert(String.fromCharCode(keynum));
}
</script>
<form>
<input type="text" onkeypress="return myKeyPress(event)" />
</form>
JQuery:
$(document).keypress(function(event){
alert(String.fromCharCode(event.which));
});
keypress
घटना का उपयोग कर रही है , जो आपको एक चरित्र कोड देता है, बजाए keyup
या keydown
जो आपको एक महत्वपूर्ण कोड देता है।
e.key
अभी भी पूर्ण ब्राउज़र समर्थन नहीं करता है।
यहाँ इस सवाल के एक लाख डुप्लिकेट हैं, लेकिन यहाँ फिर से वैसे भी जाता है:
document.onkeypress = function(evt) {
evt = evt || window.event;
var charCode = evt.keyCode || evt.which;
var charStr = String.fromCharCode(charCode);
alert(charStr);
};
प्रमुख घटनाओं पर सबसे अच्छा संदर्भ मैंने देखा है http://unixpapa.com/js/key.html ।
हाल ही में और अधिक क्लीनर: उपयोग करें event.key
। कोई और अधिक मनमानी संख्या कोड!
नोट: पुराने गुण (
.keyCode
और.which
) पदावनत हैं।
node.addEventListener('keydown', function(event) {
const key = event.key; // "a", "1", "Shift", etc.
});
यदि आप यह सुनिश्चित करना चाहते हैं कि केवल एकल वर्ण दर्ज किए गए हैं, तो जांच करें key.length === 1
, या यह कि आपके द्वारा अपेक्षित पात्रों में से एक है।
प्रयत्न:
<table>
<tr><td>Key:</td><td id="key"></td></tr>
<tr><td>Key Code:</td><td id="keyCode"></td></tr>
<tr><td>Event Code:</td><td id="eventCode"></td></tr>
</table>
<script type="text/javascript">
window.addEventListener("keydown", function (e) {
//tested in IE/Chrome/Firefox
document.getElementById("key").innerHTML = e.key;
document.getElementById("keyCode").innerHTML = e.keyCode;
document.getElementById("eventCode").innerHTML = e.code;
})
</script>
* नोट: यह "रन कोड स्निपेट" में काम करता है
यह वेबसाइट ऊपर मेरे कोड के समान है: Keycode.info
**check this out**
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(document).keypress(function(e)
{
var keynum;
if(window.event)
{ // IE
keynum = e.keyCode;
}
else if(e.which)
{
// Netscape/Firefox/Opera
keynum = e.which;
}
alert(String.fromCharCode(keynum));
var unicode=e.keyCode? e.keyCode : e.charCode;
alert(unicode);
});
});
</script>
</head>
<body>
<input type="text"></input>
</body>
</html>
एक परिष्कृत तरीके से ऐसा करने के लिए मेरे पसंदीदा पुस्तकालयों में से एक मूसट्रैप है ।
यह विभिन्न प्रकार के प्लगइन्स के साथ रखता है, जिनमें से एक record
प्लगइन है जो दबाए गए कुंजी के अनुक्रम की पहचान कर सकता है।
उदाहरण:
<script>
function recordSequence() {
Mousetrap.record(function(sequence) {
// sequence is an array like ['ctrl+k', 'c']
alert('You pressed: ' + sequence.join(' '));
});
}
</script>
<button onclick="recordSequence()">Record</button>