Jak wywołać coś, gdy kursor znajduje się wewnątrz TEXTAREA i Ctrl + Wprowadź jest wciśnięty? Korzystanie z jQuery. DziękiCtrl + Enter jQuery w TEXTAREA
Odpowiedz
Możesz użyć flagi event.ctrlKey
aby sprawdzić, czy klucz Ctrl jest wciśnięty, coś takiego:
$('#textareaId').keydown(function (e) {
if (e.ctrlKey && e.keyCode == 13) {
// Ctrl-Enter pressed
}
});
Sprawdź powyższy fragment here.
To nie działa w przeglądarce Google Chrome. Po naciśnięciu Ctrl + Enter kod klawisza to "10", a nie "13". – Znarkus
To nie działa. Rozwiązanie Yarolslava Jakowlewa działa poprawnie. Zmień zaakceptowaną odpowiedź, aby zaoszczędzić czas. –
Nie działa również w Operze. –
najpierw musisz ustawić flagę po naciśnięciu klawisza Ctrl, zrób to na bieżąco. wtedy musisz sprawdzić klucz keydown dla enter. odznacz flagę, gdy pojawi się kluczowanie dla 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
Właściwie ten załatwia sprawę i działa we wszystkich przeglądarkach:
if ((event.keyCode == 10 || event.keyCode == 13) && event.ctrlKey)
link js fiddle
znalazłem odpowiedzi innych osób albo niekompletne lub nie kompatybilne z różnymi przeglądarkami.
Ten kod działa na Google Chrome.
$(function()
{
$(document).on("keydown", "#textareaId", function(e)
{
if ((e.keyCode == 10 || e.keyCode == 13) && e.ctrlKey)
{
alert('ctrl+enter');
}
});
});
Czy możesz poprawić odpowiedź, dodając dalsze wyjaśnienia? Dzięki :) W przeciwnym razie byłaby to po prostu niska jakość odpowiedzi na pytanie o niskiej jakości. – Theolodis
@Valamas: Czy możesz powiedzieć, jakie jest użycie "event.keyCode == 10" w odpowiedzi. –
Uwielbiam kopiować i wstawiać odpowiedzi – xamde
ten może być przedłużony do prostego, ale elastyczne jQuery plugin jak w:
$.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);
}
})
})
}
Zatem
$('textarea').enterKey(function() {$(this).closest('form').submit(); }, 'ctrl')
powinien złożyć formularz, gdy użytkownik naciśnie Ctrl-Enter z skoncentruj się na textarea tego formularza.
(Z podziękowaniami dla https://stackoverflow.com/a/9964945/1017546)
rozwiązanie uniwersalne
Obsługuje OS X, jak również.
if ((e.ctrlKey || e.metaKey) && (e.keyCode == 13 || e.keyCode == 10)) {
// do something
}
Nie ignoruj tej odpowiedzi, ponieważ ma niższy wynik, to tylko nowsza odpowiedź, w rzeczywistości jest lepsza. –
Może trochę spóźniony do gry, ale tutaj jest to, czego używam. Wymusi również przesłanie formularza, który jest bieżącym celem kursora.
$(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. opróżnić TMemo z Ctrl + Enter
- 2. jQuery serialize() opuszcza textarea
- 3. Plugin JQuery TextArea AutoGrow
- 4. Zapobieganie „Enter” od złożenia formularza, ale pozwoli to na polach textarea (jQuery)
- 5. Przewiń do góry jQuery-Textarea
- 6. jQuery zawija zaznaczony tekst w textarea
- 7. jQuery do sprawdzania poprawności HTML w TextArea
- 8. określanie wejścia vs textarea w jQuery
- 9. Ograniczanie liczby wierszy w textarea
- 10. Nie dopuszczać nowych wierszy w textarea
- 11. jQuery textarea append zachowanie nowej linii
- 12. Jquery uzyskać losowe słowa z textarea
- 13. jQuery wykryj, czy textarea jest pusta
- 14. Znajdź następny textarea przy użyciu jQuery
- 15. Jak uzyskać zawartość textarea z jquery
- 16. jQuery Cleditor uzyskać wartość textarea na keyup
- 17. jQuery Validate Unobtrusive nie działa dla TextArea
- 18. JQuery: .val() nie działa dla textarea
- 19. jQuery - zastępują preventDefault(), gdy kliknięcie + Ctrl wciśnięty
- 20. Detect enter wciśnięty przy użyciu JavaScript
- 21. Zastąpienie zaznaczonego tekstu w textarea
- 22. Czy terminale mogą wykryć <Shift-Enter> lub <Control-Enter>?
- 23. Jak przesłać formularz za pomocą klawisza Enter w pliku react.js?
- 24. ExtJs textarea multiline issue
- 25. jquery contenteditable wpisz "Jak wywołać shift-enter, gdy ktoś naciśnie klawisz Enter?"
- 26. Textarea JQuery Mobile: w jaki sposób korzysta z atrybutu "wiersze"?
- 27. HTML5 Symbol zastępczy na Textarea za pośrednictwem jQuery w IE10
- 28. Jak sprawdzić, czy Textarea jest pusta w JavaScript lub Jquery?
- 29. jak powiązać kombinację klawiszy Ctrl + x + powrót w jQuery
- 30. Wyłączenie Textarea z CSS
zaakceptowana odpowiedź nie działa. Zmień zaakceptowaną odpowiedź – peter