সারসংক্ষেপ
কেবলমাত্র ডিফল্ট ব্রাউজার ক্রিয়াটি প্রতিরোধ করুন :
window.addEventListener("keydown", function(e) {
if([32, 37, 38, 39, 40].indexOf(e.keyCode) > -1) {
e.preventDefault();
}
}, false);
আসল উত্তর
আমি আমার গেমটিতে নিম্নলিখিত ফাংশনটি ব্যবহার করেছি:
var keys = {};
window.addEventListener("keydown",
function(e){
keys[e.keyCode] = true;
switch(e.keyCode){
case 37: case 39: case 38: case 40:
case 32: e.preventDefault(); break;
default: break;
}
},
false);
window.addEventListener('keyup',
function(e){
keys[e.keyCode] = false;
},
false);
যাদুটি ঘটে e.preventDefault();
। এই ক্ষেত্রে ব্রাউজারের দৃষ্টিভঙ্গি সরিয়ে নেওয়ার ক্ষেত্রে ইভেন্টের ডিফল্ট ক্রিয়াকে অবরুদ্ধ করবে।
আপনার যদি বর্তমান বোতামের প্রয়োজন না হয় তবে আপনি কেবল keys
তীর কীগুলিতে ডিফল্ট ক্রিয়াটি ফেলে এবং ফেলে দিতে পারেন :
var arrow_keys_handler = function(e) {
switch(e.keyCode){
case 37: case 39: case 38: case 40:
case 32: e.preventDefault(); break;
default: break;
}
};
window.addEventListener("keydown", arrow_keys_handler, false);
নোট করুন যে এই পদ্ধতির সাহায্যে আপনাকে তীর কী স্ক্রোলিংটি পুনরায় সক্ষম করতে হবে তবে পরে ইভেন্ট হ্যান্ডলারটি সরাতে সক্ষম করে:
window.removeEventListener("keydown", arrow_keys_handler, false);
তথ্যসূত্র