JQuery এর সাথে কীপ্রেসকে "মুছুন" ক্যাপচার করছে


118

কীপ্রেস ইভেন্ট হ্যান্ডলারের জন্য jQuery ডকুমেন্টেশন থেকে উদাহরণ কোডটি ব্যবহার করার সময়, আমি Deleteকীটি ক্যাপচার করতে পারছি না । নিচে স্নিপেট লগ ইন করার যাচ্ছে 0যখন Deleteচাবি ফায়ারফক্সে টেপা হলে:

$(document).keypress(function(e) {
    console.log(e.which);       
});

দেখে মনে হচ্ছে Deleteকীটি ক্যাপচার করার উপায় আছে তবে এটি একটি দ্ব্যর্থক শব্দ যার ফলে গুগল এটির পক্ষে খুব বেশি সহায়ক হতে পারে না।

উত্তর:


202

আপনার keypressইভেন্টটি ব্যবহার করা উচিত নয় , keyupবা ইভেন্টটি হ'ল keydownকারণ keypressইভেন্টটি বাস্তব (মুদ্রণযোগ্য) অক্ষরের জন্য। keydownনিম্ন স্তরে পরিচালনা করা হয় যাতে এটি সমস্ত নন-প্রিন্টিং কীগুলি deleteএবং এর মতো ক্যাপচার করবে enter।


keyupকাজ আরও ভাল করতে হবে।
— লোকালহোস্ট

2
@atilkan না, ব্যবহারকারী প্রতিক্রিয়া আশা করে keydown, না keyup। সমস্ত পাঠ্য সম্পাদক সম্পাদনাগুলি যখন কীটি চাপানো হয় তখন তা সঞ্চালিত হয়, যখন প্রকাশ হয় না।
— ফিলিপ লেবার্ট

1
@ ফিলিপলেলিবার্ট আমার ক্ষেত্রে প্রোগ্রামটি সর্বশেষ চাপানো চরটি ধরতে পারে না।
— লোকালহোস্ট

82
$('html').keyup(function(e){
    if(e.keyCode == 46) {
        alert('Delete key released');
    }
});

উত্স: জাভাস্ক্রিপ্ট চর কোডগুলি www.cambiaresearch.com থেকে কোড কোডগুলি


18
এটা হওয়া উচিত alert('Delete Key Released')।
— ওয়ালধেঞ্জ

যদি কেউ কিডআপের পরিবর্তে কীপ্রেস ব্যবহার করে টডের পরামর্শ দিয়ে থাকে তবে আপনি কী কোড কোড == 46 এর বিপরীতে পাবেন। কী (বিন্দু) তবে এটি কীআপের সাথে ভাল কাজ করে। ধন্যবাদ
— মুবাশার

34

জাভাস্ক্রিপ্ট কীকোডস

  • e.keyCode == 8 এর জন্যbackspace
  • e.keyCode == 46 এর জন্য forward backspaceবা deleteপিসিতে বোতাম

এই বিশদটি ব্যতীত কলিন ও টডের উত্তর কাজ করছে।


4
এটি e.keyCode হওয়া উচিত এবং e.KeyCode নয়
— জেরোম

16

ইভেন্ট.কি === "মুছুন"

আরও সাম্প্রতিক এবং অনেক ক্লিনার: ব্যবহার event.key। আর যথেচ্ছ নম্বর কোড নেই!

দ্রষ্টব্য: পুরানো বৈশিষ্ট্যগুলি ( .keyCodeএবং .which) হ্রাস করা হয়েছে।

document.addEventListener('keydown', function(event) {
    const key = event.key; // const {key} = event; ES6+
    if (key === "Delete") {
        // Do things
    }
});

মজিলা ডক্স

সমর্থিত ব্রাউজারগুলি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.