javascript Ctrl+टेक्स्ट में jQuery दर्ज करें




html hotkeys (7)

जब कर्सर टेक्सटेरा के भीतर होता है तो मैं कुछ कैसे ट्रिगर करूं और Ctrl + Enter दबाया जाता है? JQuery का उपयोग करना धन्यवाद


दरअसल यह एक चाल है और सभी ब्राउज़रों में काम करता है:

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

जेएस पहेली के लिए लिंक


शायद खेल के लिए थोड़ा देर हो चुकी है, लेकिन मैं इसका उपयोग करता हूं। यह उस फॉर्म को सबमिट करने के लिए भी मजबूर होगा जो कर्सर का वर्तमान लक्ष्य है।

$(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();
    }
});

सार्वभौमिक समाधान

ओएस एक्स का भी समर्थन करता है।

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

यह देखने के लिए कि Ctrl कुंजी दबाया गया है, आप event.ctrlKey ध्वज का उपयोग कर सकते हैं, ऐसा कुछ:

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

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

उपर्युक्त स्निपेट here


मुझे दूसरों के जवाब अधूरे या क्रॉस-ब्राउज़र संगत नहीं मिला।

यह कोड गूगल क्रोम काम करता है।

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

सबसे पहले आपको Ctrl दबाए जाने पर ध्वज सेट करना होगा, यह ऑनकीडाउन करें। तो आपको प्रवेश की कुंजीडाउन जांचनी होगी। जब आप Ctrl के लिए एक कुंजीपटल देखते हैं तो ध्वज को अनसेट करें।


इसे एक साधारण-लेकिन-लचीला 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')

उस फ़ॉर्म को सबमिट करना चाहिए जब उपयोगकर्ता उस फ़ॉर्म के टेक्स्टरेरा पर फ़ोकस के साथ ctrl-enter दबाता है।

( https://.com/a/9964945/1017546 के लिए धन्यवाद के साथ)





hotkeys