Tak więc kod, który mam do tej pory to:
<fieldset id="LinkList">
<input type="text" id="addLinks" name="addLinks" value="http://">
<input type="button" id="linkadd" name="linkadd" value="add">
</fieldset>
To nie jest w a <form>
i jest tak, jak jest w a <div>
. Jednak gdy textbox
wpisuję coś w nazwie „addLinks”, chcę, aby użytkownik mógł nacisnąć klawisz Enter i uruchomić polecenie „linkadd”, button
które następnie uruchomi funkcję JavaScript.
W jaki sposób mogę to zrobić?
Dzięki
Edycja: znalazłem ten kod, ale wydaje się, że nie działa.
$("#addLinks").keyup(function(event){
if(event.keyCode == 13){
$("#linkadd").click();
}
});
keypress
i sprawdźe.charCode==13
(przycisk Enter).keypress
lubkeydown
wspomniał w tej odpowiedzi, są drogą do zrobienia.Odpowiedzi:
źródło
Jest …… 2020. I wierzę, że to nadal jest prawdą.
NIE UŻYWAĆ
keypress
keypress
Impreza nie wywołał , gdy użytkownik naciśnie klawisz, który nie wywołuje żadnego znaku , takie jak Tab, Caps Lock, Delete, Backspace, Escape, w lewo i prawo Shift, klawisze funkcyjne ( F1- F12).Został wycofany.
NIE UŻYWAĆ
KeyboardEvent.keyCode
Czego mam wtedy użyć? (Dobra praktyka)
źródło
if (event.key == "Enter") { document.querySelector("#linkadd").click(); }
:?.key
nie jest to obsługiwane we wszystkich przeglądarkach: caniuse.com/#feat=keyboardevent-key - około 10% osób korzysta z przeglądarek, które tego nie obsługują.Istnieją rozwiązania wolne od js.
Ustaw
type=submit
przycisk, który ma być domyślny, itype=button
inne przyciski. Teraz w poniższym formularzu możesz nacisnąć Enter w dowolnych polach wejściowych, aRender
przycisk będzie działał (mimo że jest to drugi przycisk w formularzu).Przykład:
Przetestowano w FF24 i Chrome 35 (
formaction
jest funkcją HTML5 , aletype
nie jest).źródło
button
zsubmit
submit
programem obsługi formularza, a nie zclick
programem obsługi przyciskuNaciśnięcie klawisza Enter w polu spowoduje przesłanie formularza, a program obsługi przesyłania uruchomi się.
źródło
Możesz dodać procedurę obsługi zdarzeń do swoich danych wejściowych w następujący sposób:
źródło
Działa, gdy input type = "button" zostanie zastąpiony przez input type = "submit" dla przycisku domyślnego, który należy wyzwolić.
źródło
Przede wszystkim dodaj plik biblioteki jquery jquery i nazwij go w swojej głowie html.
a następnie Użyj kodu opartego na jquery ...
źródło
To powinno wystarczyć, używam jQuery, możesz napisać zwykły javascript.
Zastąp
sendMessage()
swoją funkcjonalnością.źródło
Na podstawie kilku wcześniejszych odpowiedzi wymyśliłem to:
Spójrz na Fiddle
EDYCJA: Jeśli nie chcesz dodawać dodatkowych elementów html, możesz to zrobić tylko za pomocą JS:
źródło
Znalazłem howto w3schools.com, ich strona wypróbuj mnie znajduje się poniżej.
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_trigger_button_enter
To działało w mojej zwykłej przeglądarce, ale nie działało w mojej aplikacji php, która używa wbudowanej przeglądarki php.
Po odrobinie zabawy wymyśliłem następującą czystą alternatywę JavaScript, która działa w mojej sytuacji i powinna działać w każdej innej sytuacji:
HTML Naciśnij klawisz Enter w polu tekstowym, aby aktywować przycisk.
źródło
źródło
Używam przycisku kendo. To zadziałało dla mnie.
źródło