খাঁটি জাভাস্ক্রিপ্টে ক্রস-ব্রাউজারের সামঞ্জস্যপূর্ণ উপায়ে কী অক্ষর কী টিপানো হয় তা আমি জানতে চাই।
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>
* দ্রষ্টব্য: এটি "কোড স্নিপেট চালান" তে কাজ করে
এই ওয়েবসাইটটি আমার কোডের উপরের মতো করে: কীকোড.ইন.ফো
**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>