Ctrl + TEXTAREA এ jQuery লিখুন


92

কার্সারটি TEXTAREA এর মধ্যে থাকা এবং Ctrl+ Enterটিপে গেলে আমি কীভাবে কিছু ট্রিগার করব ? JQuery ব্যবহার করে । ধন্যবাদ


আপনি যে উত্তরটি গ্রহণ করেছেন তা কার্যকর হয় না। দয়া করে আপনার গৃহীত উত্তরটি পরিবর্তন করুন
পিটারচৌলা

উত্তর:


128

আপনি কীটি টিপছে event.ctrlKeyকিনা তা দেখতে পতাকাটি ব্যবহার করতে পারেন Ctrl, এরকম কিছু:

$('#textareaId').keydown(function (e) {

  if (e.ctrlKey && e.keyCode == 13) {
    // Ctrl-Enter pressed
  }
});

উপরের স্নিপেটটি এখানে দেখুন


15
এটি গুগল ক্রোমে কাজ করে না। যখন Ctrl + Enter টেপা হলে কী কোড 10, না 13
Znarkus

39
এটা কাজ করে না. নীচে ইয়ারলস্লাভ ইয়াকোলেভের সমাধানটি সঠিকভাবে কাজ করে। মানুষের সময় সাশ্রয় করতে দয়া করে গৃহীত উত্তর পরিবর্তন করুন।
ফিল রিকিটস 20'12

4
@ রিপ্লেট আপনি কোন পরিবেশ পরীক্ষা করেছেন? কী কোড 10 সম্পর্কে কোনও ডকুমেন্টেশন আছে?
সংঘিউন লি

keyCode 10 Chrome- এ আর হওয়া উচিত নয়, দেখুন bugs.chromium.org/p/chromium/issues/detail?id=79407
swissspidy

যখন ট্রিগার keypressইভেন্ট, keycode 10 হবে, কিন্তু keydownবা keyupরিপোর্ট হবে 13. শুধু পরীক্ষা ক্রোম
iulo

137

আসলে এইটি কৌশলটি করে এবং সমস্ত ব্রাউজারে কাজ করে:

if ((event.keyCode == 10 || event.keyCode == 13) && event.ctrlKey)

জেএস ফিডাল লিঙ্ক ।

মন্তব্য:

  • উইন্ডোজ এবং লিনাক্সের ক্রোমে , 13 enterহিসাবে keyCodeনয়, 10 হিসাবে চিহ্নিত হবে ( বাগ রিপোর্ট )। সুতরাং আমরা উভয় জন্য পরীক্ষা করা প্রয়োজন।
  • ctrlKeyহয় controlউইন্ডোজ, লিনাক্স এবং MacOS (না হয়ে command)। এছাড়াও দেখুন metaKey

ফিডল ফায়ারফক্স ২ 27 এ কাজ করে না, কী হয়েছে?
কোডম্যানএক্স

4
@ ইয়ারোস্লাভ: আপনি কি উত্তর দিতে পারেন "ইভেন্ট.কি কোড" == 10 "এর ব্যবহার কী তা দয়া করে বলতে পারেন।
শশাঙ্ক.

4
যে কেউ এখনো keyCode 10 এবং Chrome এর অন্যান্য জিনিস সম্পর্কে হতাশ যদি পড়া এই
ব্যবহারকারী 2422869

4
@ ইয়ারোস্লাভ ইয়াকোলেভ ctrlKeyম্যাক্সের কমান্ড কীটির সাথে মিলে যায়?
জ্যাকব স্ট্যাম

4
ম্যাককে সমর্থন if ((e.keyCode == 10 || e.keyCode == 13) && (e.ctrlKey || e.metaKey))
করতেও

81

সর্বজনীন সমাধান

এটি ম্যাকোসকেও সমর্থন করে: Ctrl+ Enterএবং ⌘ Command+ উভয়ই Enterগ্রহণ করা হবে।

if ((e.ctrlKey || e.metaKey) && (e.keyCode == 13 || e.keyCode == 10)) {
    // do something
}

15
এই উত্তরটিকে উপেক্ষা করবেন না কারণ এটি কম স্কোর পেয়েছে, এটি কেবলমাত্র একটি নতুন উত্তর, এটি আসলে আরও ভাল।
ডেভিড বেল

4
প্রথম অংশের ব্যাখ্যা: ম্যাকোস, e.ctrlKeyসনাক্ত ⌃ Controlএবং e.metaKeyসনাক্তকরণে ⌘ Command। যদি আপনি আচরণটি ট্রিগার করতে Ctrl-Enter এবং কমান্ড-এন্টার উভয়ই চান তবে এটি ব্যবহার করুন।
ররি ও'কেনে

আপনি কেন একটি গ্রহণ ব্যাখ্যা করতে পারবেন e.keyCodeএর 10মানে ছাড়াও লিখুন 13? MDN keyCodeডকুমেন্টেশন শুধুমাত্র তালিকা 13লিখুন জন্য একটি সম্ভাব্য মান হিসাবে, একাধিক ব্রাউজার এবং অপারেটিং সিস্টেম জুড়ে পরীক্ষিত।
ররি ও'কেনে

4
@ ররিও'কেনে উইন্ডোজ এবং লিনাক্সের ক্রোমের কয়েকটি সংস্করণ দৃশ্যমানভাবে 10 টি মান ব্যবহার করে।
5:40

4

আমি অন্যের উত্তরগুলি অসম্পূর্ণ অথবা ক্রস ব্রাউজারের সাথে সামঞ্জস্যপূর্ণ নয় found

এই কোডটি গুগল ক্রোমে কাজ করে।

$(function ()
{
    $(document).on("keydown", "#textareaId", function(e)
    {
        if ((e.keyCode == 10 || e.keyCode == 13) && e.ctrlKey)
        {
            alert('ctrl+enter');
        }
    });
});

4
আপনি আরও ব্যাখ্যা যুক্ত করে আপনার উত্তর উন্নতি বিবেচনা করতে পারেন? ধন্যবাদ :) অন্যথায় এটি কেবল নিম্ন মানের প্রশ্নের একটি নিম্ন মানের উত্তর হবে।
থিওলোডিস

@ ওয়ালামাস: আপনি কি উত্তর দিতে পারেন "ইভেন্ট.কি কোড" == 10 "এর ব্যবহার কী তা দয়া করে।
শশাঙ্ক.

4
আমি অনুলিপি এবং প্যাষ্টার উত্তরগুলি পছন্দ করি
ডঃ ম্যাক্স ভেল্কেল

2

এটিকে সাধারণ-তবে-নমনীয় JQuery প্লাগইনটিতে বাড়ানো যেতে পারে:

$.fn.enterKey = function (fnc, mod) {
    return this.each(function () {
        $(this).keypress(function (ev) {
            var keycode = (ev.keyCode ? ev.keyCode : ev.which);
            if ((keycode == '13' || keycode == '10') && (!mod || ev[mod + 'Key'])) {
                fnc.call(this, ev);
            }
        })
    })
}

এইভাবে

$('textarea').enterKey(function() {$(this).closest('form').submit(); }, 'ctrl')

যখন ব্যবহারকারী সেই ফর্মের টেক্সারিয়ায় ফোকাস সহ সিটিআরএল-এন্টার টিপান তখন একটি ফর্ম জমা দিতে হবে।

( Https://stackoverflow.com/a/9964945/1017546 ধন্যবাদ সহ )



0

প্রথমে আপনাকে Ctrlচাপ দেওয়ার সময় একটি পতাকা সেট করতে হবে , এটি অনকিডাউন করুন। তারপরে আপনাকে প্রবেশের কীডাউনটি পরীক্ষা করতে হবে। পতাকাটি আনসেট করুন যখন আপনি কোনও কীআপ দেখেন Ctrl


0

খেলাটি হতে খানিকটা দেরি হলেও এখানে আমি ব্যবহার করি। এটি কার্সারের বর্তমান লক্ষ্য যে ফর্মটি জমা দিতে বাধ্য করবে।

$(document.body).keypress(function (e) {
    var $el = $(e.target);
    if (e.ctrlKey && e.keyCode == 10) {
        $el.parents('form').submit();
    } else if (e.ctrlKey && e.keyCode == 13) {
        $el.parents('form').submit();
    }
});

আপনি একটি একক " ifelse if" সরল করতে পারেন if (e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13))
ররি ও'কেনে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.