জ্যাকোয়ারি: কী কী টিপুন এন্টার কী টিপুন ক্লিক করুন event


165

কী এন্টার টিপানোর পরে আমাকে একটি বোতাম ক্লিক ইভেন্ট সম্পাদন করতে হবে।

মুহূর্তে যেমন ঘটনাটি গুলি চালাচ্ছে না is

সম্ভব হলে সিনট্যাক্সটি সম্পর্কে আমাকে সহায়তা করুন।

$(document).on("click", "input[name='butAssignProd']", function () {
   //all the action
});

এন্টার এ ক্লিক ইভেন্ট ফায়ার আমার প্রচেষ্টা।

$("#txtSearchProdAssign").keydown(function (e) {
  if (e.keyCode == 13) {
    $('input[name = butAssignProd]').click();
  }
});

আপনাকে প্রত্যাবর্তন মিথ্যা বা একটিe.preventDefault();
geekchic

4
পার্শ্ব-নোট হিসাবে: e.keyCodeসম্পূর্ণরূপে ব্রাউজারটি নয়। e.whichপরিবর্তে ব্যবহার করুন।
হাশেম কুলামি

4
এই ক্ষেত্রে, আপনি বা এর keyupপরিবর্তে ব্যবহার করা উচিত । / কী টিপে চলাকালীন ইভেন্টগুলি ধারাবাহিকভাবে ট্রিগার করে: jsbin.com/uzoxuk/1/editkeypresskeydownkeypresskeydown
হাশেম কোলামি

উত্তর:


307

এটি চেষ্টা করে দেখুন ....

$('#txtSearchProdAssign').keypress(function (e) {
 var key = e.which;
 if(key == 13)  // the enter key code
  {
    $('input[name = butAssignProd]').click();
    return false;  
  }
});   


Jsbin.com এ ডেমো সন্ধান করুন


3
লোকেরা যে কোনও জায়গা থেকে "প্রবেশ" কী টিপসটি সনাক্ত করতে চাইলে আপনি $ ('# txtS SearchProdAssign') প্রতিস্থাপন করতে পারেন এবং নথিতে trigger (নথি) .কাইপ্রেস .......
dave4jr

অ্যাক্সেসিবিলিটি দৃষ্টিকোণ থেকে সন্দেহজনক মনে হচ্ছে। এটি কি পৃথক "নির্বাচন" পদ্ধতিগুলি সহ সমস্ত ধরণের ডিভাইসগুলিতে অবশ্যই কাজ করবে?
জনি 9

26

এটা চেষ্টা কর

$('#twitterSearch').keydown(function(event){ 
    var keyCode = (event.keyCode ? event.keyCode : event.which);   
    if (keyCode == 13) {
        $('#startSearch').trigger('click');
    }
});

আশা করি এটি আপনাকে সহায়তা করবে


4
মানে if((event.keyCode || event.which) == 13)? হ্যাঁ, এটি সম্পূর্ণ ক্রস ব্রাউজার যা Tabএফএফ-তে কী সমর্থন করে ।
হাশেম কুলামি

এপিআই অনুসারে , event.keyCodeঅপ্রয়োজনীয়, কেবল ব্যবহার করুন event.which
কোনাক 21


8

আপনি প্রায় সেখানে ছিল। এখানে আপনি চেষ্টা করতে পারেন কি।

$(function(){
  $("#txtSearchProdAssign").keyup(function (e) {
    if (e.which == 13) {
      $('input[name="butAssignProd"]').trigger('click');
    }
  });
});

আমি ক্লিকটি সম্পাদন করেছি trigger()এবং keyupইভেন্টটির উপর ভিত্তি করে আবদ্ধ করার জন্য এটি আবদ্ধ করেছি keydownকারণ clickইভেন্টটি দুটি ইভেন্টের অন্তর্ভুক্ত যার অর্থ mousedownতখনই mouseup। সুতরাং জিনিস দিয়ে সম্ভব হিসাবে একই অনুরূপ keydownএবংkeyup

এখানে একটি ডেমো রয়েছে


4

আরও একটি সংযোজন:

আপনি যদি গতিশীলভাবে কোনও ইনপুট যুক্ত করেন, উদাহরণস্বরূপ ব্যবহার করে append(), আপনাকে অবশ্যই jQuery on()ফাংশনটি ব্যবহার করতে হবে ।

$('#parent').on('keydown', '#input', function (e) {
    var key = e.which;
    if(key == 13) {
        alert("enter");
        $('#button').click();
        return false;
    }
});

হালনাগাদ:

এটি করার আরও কার্যকর উপায় হ'ল সুইচ স্টেটমেন্ট ব্যবহার করা। আপনি এটি পরিষ্কারও পেতে পারেন।

মার্কআপ:

<div class="my-form">
  <input id="my-input" type="text">
</div>

JQuery:

$('.my-form').on('keydown', '#my-input', function (e) {
  var key = e.which;
  switch (key) {
  case 13: // enter
    alert('Enter key pressed.');
    break;
  default:
    break;
  }
});

1
আইএমও একক শর্তের জন্য একটি স্যুইচ স্টেটমেন্ট ব্যবহার করে ওভারকিল।
nyuszika7h

যদিও এটি একটি বিবৃতি চেয়ে বেশি দক্ষ।
ড্যানিয়েল ডিহার্স্ট

2
আমি তোমাকে বিশ্বাস করি না আপনি একটি উত্স উদ্ধৃত করতে পারেন?
রল্ফ

3

এন্টার কী টিপে গেলে আপনি কি কোনও বোতামের ক্লিকের নকল করার চেষ্টা করছেন? যদি তাই হয় আপনার triggerসিনট্যাক্স ব্যবহারের প্রয়োজন হতে পারে ।

পরিবর্তনের চেষ্টা করুন

$('input[name = butAssignProd]').click();

প্রতি

$('input[name = butAssignProd]').trigger("click");

যদি এটি সমস্যা না হয় তবে এই পোস্টের সমাধানগুলি দেখে আপনার কী ক্যাপচার সিনট্যাক্সটি দ্বিতীয়বার দেখার চেষ্টা করুন: jQuery ইভেন্ট কীপ্রেস: কোন কী টিপেছিল?


Api.jquery.com / ক্লিক থেকে - এই পদ্ধতিটি প্রথম দুটি প্রকরণে .on ("ক্লিক", হ্যান্ডলার) এবং তৃতীয়টিতে .trigger ("ক্লিক করুন") এর শর্টকাট is যাতে ঠিক একই কাজ করবে।
ক্যাপসুল

1

এটা চেষ্টা কর

<button class="click_on_enterkey" type="button" onclick="return false;">
<script>
$('.click_on_enterkey').on('keyup',function(event){
  if(event.keyCode == 13){
    $(this).click();
  }
});
<script>

1

আপনি এই কোড ব্যবহার করতে পারেন

$(document).keypress(function(event){
    var keycode = (event.keyCode ? event.keyCode : event.which);
    if(keycode == '13'){
       alert('You pressed a ENTER key.');
    }
});

1

কোডে কেবল প্রতিরোধ ডিফল্ট () ফাংশন অন্তর্ভুক্ত করুন,

$("#txtSearchProdAssign").keydown(function (e) 
{
   if (e.keyCode == 13) 
   {
       e.preventDefault();
       $('input[name = butAssignProd]').click();
   }
});

0

জ্যাকুয়ারি: ফায়ার বোতাম ক্লিক ইভেন্ট এন্টার বোতাম টিপুন ব্যবহার করে দেখুন:

tabindex = "0" onkeypress = "enterEvent (ইভেন্ট) ফেরান"

 <!--Enter Event Script-->
    <script type="text/javascript">
        function EnterEvent(e) {
            if (e.keyCode == 13) {
                __doPostBack('<%=btnSave.UniqueID%>', "");
            }
        }
    </script>
    <!--Enter Event Script-->


-4

এটি এখন ডিফল্ট আচরণ বলে মনে হচ্ছে, তাই এটি করার জন্য যথেষ্ট:

$("#press-enter").on("click", function(){alert("You `clicked' or 'Entered' me!")})

আপনি এই জেএসফিডেলে এটি চেষ্টা করতে পারেন

পরীক্ষিত: ক্রোম 56.0 এবং ফায়ারফক্স (দেব সংস্করণ) 54.0a2, উভয়ই jQuery 2.2.x এবং 3.x


2
এটি মোটেও 'রিটার্ন' প্রেস ধরবে বলে মনে হচ্ছে না।
klokop

@klokop আপনি ভুল, এটি 'রিটার্ন' বা 'প্রবেশ' ধরবে। আমি এফএফ 63, ক্রোম 69, সাফারি 10.0.1, এবং অপেরা 55 এ উভয়টির লিঙ্কে এবং আমি নিজেই পরীক্ষার জন্য তৈরি করা একটি পৃথক সাইটে এই মাত্র jQuery 3 দিয়ে চেষ্টা করেছি। এটি আমার কাছ থেকে একটি +1।
হাইপারিয়াম

আপনি একটি বোতাম ব্যবহার করছেন, প্রবেশ করুন বোতাম এবং <a> ট্যাগগুলি সঞ্চারিত করবে তবে একটি স্প্যানে বলতে বা ওপিতে একটি নিয়মিত ইনপুট ক্ষেত্র থাকায় এটি হয় না।
নিকফএমসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.