একটি পাঠ্য ইনপুট ক্ষেত্রে প্রবেশ কীটি সনাক্ত করুন


299

নির্দিষ্ট ইনপুট চলাকালীন এন্টার টিপলে আমি একটি ফাংশন করার চেষ্টা করছি।

আমি কি ভুল করছি?

$(document).keyup(function (e) {
    if ($(".input1").is(":focus") && (e.keyCode == 13)) {
        // Do something
    }
});

এটি করার আরও ভাল উপায় আছে যা বলবে যে, যদি ডান ফাংশনটিতে এন্টার চাপ দেওয়া হয় .input1?


উত্তর:


499
$(".input1").on('keyup', function (e) {
    if (e.keyCode === 13) {
        // Do something
    }
});


//keyup not compatible with Jquery select(), Keydown is.

আপনি এটি কোন ব্রাউজারে পরীক্ষা করছেন? আমি মনে করি IE এর পুরানো সংস্করণগুলি নথিতে কীআপ ইভেন্টগুলি ট্রিগার করে না (যদিও এটি সম্পর্কে নিশ্চিত নয়)।
জোসেফ সিলবার

2
আপনার কোডটি কাজ করছে না কারণ আপনি .is () ব্যবহার করেছেন এবং == পরিবর্তে === প্রয়োজন। আরও কিছু বিশদ জানতে আমার উত্তর দেখুন।
ওয়েসবোস

6
@ jQuerybeast এটির প্রয়োজন নেই , এবং event.keyCodeএটি একটি Number, তাই জাভাস্ক্রিপ্ট ==বা এর সাথে একই পদক্ষেপ গ্রহণ করবে ===
অ্যালেক্স

7
e যা আরও কার্যকর ক্রস ব্রাউজার হিসাবে ঘোষণা করা হয়
মোহাম্মদ এসলাহী সানী

2
প্রোপার্টি which, code, charCodeএবং keyCodeঅননুমোদিত developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent , আপনার উত্তর প্রকৃত তথ্য যোগ করুন।
সাসায়

120

ইভেন্ট.কি === "প্রবেশ করুন"

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

const node = document.getElementsByClassName(".input")[0];
node.addEventListener("keyup", function(event) {
    if (event.key === "Enter") {
        // Do work
    }
});

আপনার অবশ্যই jQuery ব্যবহার করা উচিত:

$(document).keyup(function(event) {
    if ($(".input1").is(":focus") && event.key == "Enter") {
        // Do work
    }
});

মজিলা ডক্স

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


6
প্লেইন জাভাস্ক্রিপ্ট সংস্করণটির জন্য কুডোস, অন্য সমস্ত লোকেরা কেন jquery এ নিশ্চিত নয়
ক্যাপ্টেন ফ্যান্টাস্টিক

7
কারণ, ওপি তার উদাহরণ কোডটি jQuery এ রেখেছিল (পাশাপাশি জাভাস্ক্রিপ্ট) jQuery ট্যাগ করেছে।
টাইগারারr

44
$(document).keyup(function (e) {
    if ($(".input1:focus") && (e.keyCode === 13)) {
       alert('ya!')
    }
 });

অথবা কেবল ইনপুটে নিজেই বাঁধুন

$('.input1').keyup(function (e) {
    if (e.keyCode === 13) {
       alert('ya!')
    }
  });

আপনার কী কী কোড দরকার তা নির্ধারণ করার জন্য http://keycode.info ওয়েবসাইটটি ব্যবহার করুন


ধন্যবাদ. আমি নতুন কিছু শিখেছি। আমি বেশ কয়েকবার .is () ব্যবহার করেছি তাই এটি যুক্তিযুক্ত নয়, কাজ করা উচিত নয়। এছাড়াও ==, আবার আমি অন্যান্য অবস্থার জন্য দুটি == ব্যবহার করেছি
jQuerybeast

এনপি, আপনার সর্বদা
ওয়েসবোস

12

Enterএকটি পাঠ্যবক্সে চাপা কীটি সনাক্ত করতে এটি চেষ্টা করুন ।

$(function(){

$(".input1").keyup(function (e) {
    if (e.which == 13) {
        // Enter key pressed
    }
 });

});

6

এই প্রশ্নের উত্তর দিতে দেরি হতে পারে। তবে নিম্নলিখিত কোডটি কেবল প্রবেশ কীটিকে বাধা দেয়। শুধু অনুলিপি এবং পেস্ট কাজ করা উচিত।

        <script type="text/javascript"> 
        function stopRKey(evt) { 
          var evt = (evt) ? evt : ((event) ? event : null); 
          var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
          if ((evt.keyCode == 13) && (node.type=="text"))  {return false;} 
        } 

        document.onkeypress = stopRKey; 

        </script>

6

আমি যে সবচেয়ে ভাল উপায় পেয়েছি তা হ'ল ব্যবহার করা keydown(এটি keyupআমার পক্ষে ভাল কাজ করে না)।

দ্রষ্টব্য: আমি ফর্ম জমাটিও অক্ষম করলাম কারণ সাধারণত যখন আপনি কী কী টিপুন কিছু ক্রিয়াকলাপ করতে পছন্দ করেন কেবল তখনই মনে করেন যে আপনি ফর্মটি জমা দিন :)

$('input').keydown( function( event ) {
    if ( event.which === 13 ) {
        // Do something
        // Disable sending the related form
        event.preventDefault();
        return false;
    }
});

ইভেন্ট.কি কোড কোডটিকে অবহেলা করা হয়েছে ich যা না তাই এটি আরও ভাল
অ্যালেক্স



0
 $(document).ready(function () {
        $(".input1").keyup(function (e) {
            if (e.keyCode == 13) {
                // Do something
            }
        });
    });

0

এই কোডটি পুরো সাইটের জন্য আমার জন্য প্রতিটি ইনপুট পরিচালনা করেছিল। এটি একটি ইনপুট ক্ষেত্রের ভিতরে কী কী প্রবেশ করুন তা পরীক্ষা করে এবং টেক্সটারিয়া বা অন্যান্য জায়গায় থামে না।

$(document).on("keydown", "input", function(e){
 if(e.which == 13){
  event.preventDefault();
  return false;
 }
});
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.