Come faccio innescare qualcosa quando il cursore si trova all'interno TEXTAREA e Ctrl +Immettere viene premuto? Utilizzo di jQuery. GrazieCtrl + Invio jQuery in TEXTAREA
risposta
È possibile utilizzare il flag event.ctrlKey
per vedere se il chiave Ctrl viene premuto, qualcosa di simile:
$('#textareaId').keydown(function (e) {
if (e.ctrlKey && e.keyCode == 13) {
// Ctrl-Enter pressed
}
});
Verificare quanto sopra frammento di here.
Questo non funziona in Google Chrome. Quando viene premuto Ctrl + Invio, il codice chiave è '10', non' 13'. – Znarkus
Questo non funziona. La soluzione di Yarolslav Yakovlev di seguito funziona correttamente. Per favore cambia la risposta accettata per risparmiare tempo. –
Non funziona anche in Opera. –
prima devi impostare una bandiera quando Ctrl viene premuto, fare questo onkeydown. quindi devi controllare il keydown di invio. disattiva il flag quando vedi una chiave per Ctrl.
$('my_text_area').focus(function{ set_focus_flag });
//ctrl on key down set flag
//enter on key down = check focus flag, check ctrl flag
In realtà questo si fa il trucco e funziona in tutti i browser:
if ((event.keyCode == 10 || event.keyCode == 13) && event.ctrlKey)
link per js fiddle
ho trovato le risposte degli altri o incompleti o non cross-browser compatibile.
Questo codice funziona google chrome.
$(function()
{
$(document).on("keydown", "#textareaId", function(e)
{
if ((e.keyCode == 10 || e.keyCode == 13) && e.ctrlKey)
{
alert('ctrl+enter');
}
});
});
Potresti considerare di migliorare la tua risposta aggiungendo ulteriori spiegazioni? Grazie :) Altrimenti questa sarebbe solo una risposta di bassa qualità a una domanda di bassa qualità. – Theolodis
@Valamas: Puoi dirci a cosa serve "event.keyCode == 10" nella tua risposta. –
I love copy & paster answer – xamde
Questo può essere esteso ad un semplice ma flessibile plug JQuery come:
$.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);
}
})
})
}
Così
$('textarea').enterKey(function() {$(this).closest('form').submit(); }, 'ctrl')
devono presentare un modulo quando l'utente preme Ctrl-entrare con concentrarsi sulla textarea di quel modulo.
(Si ringrazia https://stackoverflow.com/a/9964945/1017546)
soluzione universale
Supporta OS X pure.
if ((e.ctrlKey || e.metaKey) && (e.keyCode == 13 || e.keyCode == 10)) {
// do something
}
Non ignorare questa risposta perché ha un punteggio più basso, è solo una risposta più recente, in realtà è meglio. –
Forse un po 'tardi al gioco, ma ecco quello che uso. Forza anche l'invio del modulo che è l'attuale bersaglio del cursore.
$(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();
}
});
- 1. jQuery Trigger keyCode Ctrl + Shift + z e Ctrl + z in wysiwyg textarea
- 2. rilevare Ctrl + Invio
- 3. Invio di dati da textarea premendo "Invio"
- 4. jQuery serialize() lascia textarea
- 5. Textarea prevenzione di nuova riga su Invio (jQuery)
- 6. JQuery TextArea AutoGrow Plugin
- 7. vuoto un TMemo con Ctrl + Invio
- 8. jQuery Textarea focus
- 9. jquery trigger ctrl + click
- 10. Invio SIGINT (Ctrl-C) per programmare l'esecuzione in Eclipse Console
- 11. jQuery textarea append comportamento newline
- 12. Su copia hide textarea (JQuery)
- 13. determinazione dell'input vs textarea in jQuery
- 14. Textarea non ricevendo testo aggiornato in jQuery
- 15. jQuery per convalidare l'HTML in una TextArea
- 16. jQuery Mobile e righe textarea
- 17. Aggiungi testo a textarea - Jquery
- 18. annulla un invio in jquery?
- 19. Prevenire "Invio" dall'invio del modulo, ma consentirlo nei campi textarea (jQuery)
- 20. Interrompi invio modulo invio chiave jquery ui
- 21. jQuery - Annulla invio modulo (utilizzando "return false"?)?
- 22. Invio di ctrl-c a una sessione specifica dello schermo
- 23. jQuery: imposta la larghezza di una textarea?
- 24. jQuery rileva se textarea è vuota
- 25. jQuery Cleditor ottiene valore textarea su keyup
- 26. Scorrere verso l'alto di jQuery-Textarea
- 27. jQuery Validate Unobtrusive non funziona per TextArea
- 28. jQuery UI Dialog and Textarea Focus Numero
- 29. JQuery: .val() non funziona per textarea
- 30. Invio modulo AJAX in jQuery Mobile
la risposta che hai accettato non funziona. Si prega di cambiare la risposta accettata – peter