Donc, le code que j'ai jusqu'à présent est:
<fieldset id="LinkList">
<input type="text" id="addLinks" name="addLinks" value="http://">
<input type="button" id="linkadd" name="linkadd" value="add">
</fieldset>
Ce n'est pas dans un <form>
et est exactement comme dans a <div>
. Cependant, lorsque je tape quelque chose dans le textbox
"addLinks" appelé, je veux que l'utilisateur puisse appuyer sur Entrée et déclencher le "linkadd" button
qui exécutera alors une fonction JavaScript.
Comment puis-je faire ceci?
Merci
Éditer: J'ai trouvé ce code, mais il ne semble pas fonctionner.
$("#addLinks").keyup(function(event){
if(event.keyCode == 13){
$("#linkadd").click();
}
});
keypress
et vérifiere.charCode==13
(bouton Entrée).keypress
oukeydown
mentionné dans cette réponse, c'est la voie à suivre.Réponses:
la source
Nous sommes …… 2020. Et je crois que cela est toujours vrai.
NE PAS UTILISER
keypress
keypress
événement est pas déclenché lorsque l'utilisateur appuie sur une touche qui ne produit pas de caractère , tels que Tab, Caps Lock, Delete, Backspace, Escape, gauche et droite Shift, les touches de fonction ( F1- F12).Il est obsolète.
NE PAS UTILISER
KeyboardEvent.keyCode
Que dois-je utiliser alors? (La bonne pratique)
la source
if (event.key == "Enter") { document.querySelector("#linkadd").click(); }
:?.key
n'est pas pris en charge dans tous les navigateurs: caniuse.com/#feat=keyboardevent-key - environ 10% des personnes utilisent des navigateurs qui ne le prennent pas en charge.Il existe une solution sans js.
Sélectionnez
type=submit
le bouton que vous souhaitez utiliser par défaut ettype=button
les autres boutons. Maintenant, dans le formulaire ci-dessous, vous pouvez appuyer sur Entrée dans tous les champs de saisie, et leRender
appuyer bouton fonctionnera (malgré le fait qu'il s'agisse du deuxième bouton du formulaire).Exemple:
Testé dans FF24 et Chrome 35 (
formaction
est une fonctionnalité html5, maistype
ne l'est pas).la source
button
par unsubmit
submit
gestionnaire du formulaire, pas auclick
gestionnaire du boutonAppuyer sur Entrée dans le champ déclenchera la soumission du formulaire et le gestionnaire de soumission se déclenchera.
la source
Vous pouvez ajouter un gestionnaire d'événements à votre entrée comme ceci:
la source
Cela fonctionne lorsque input type = "button" est remplacé par input type = "submit" pour le bouton par défaut qui doit être déclenché.
la source
Tout d'abord, ajoutez le fichier de bibliothèque jquery jquery et appelez-le dans votre tête html.
puis Utiliser le code basé sur jquery ...
la source
Cela devrait le faire, j'utilise jQuery, vous pouvez écrire du javascript brut.
Remplacez
sendMessage()
par votre fonctionnalité.la source
Sur la base de certaines réponses précédentes, j'ai trouvé ceci:
Jetez un œil au violon
EDIT: Si vous ne souhaitez pas ajouter d'éléments html supplémentaires, vous pouvez le faire avec JS uniquement:
la source
J'ai trouvé le howto w3schools.com, leur page essayez-moi est la suivante.
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_trigger_button_enter
Cela fonctionnait dans mon navigateur habituel mais ne fonctionnait pas dans mon application php qui utilise le navigateur php intégré.
Après avoir joué un peu, j'ai proposé l'alternative JavaScript pure suivante qui fonctionne pour ma situation et devrait fonctionner dans toutes les autres situations:
HTML Appuyez sur la touche Entrée dans la zone de texte pour activer le bouton.
la source
la source
J'utilise un bouton kendo. Cela a fonctionné pour moi.
la source