Ainsi, j'ai un champ de saisie où les utilisateurs peuvent entrer du texte.
Il y a un bouton" Ajouter "qui déclenche une fonction adveval. En plus de déclencher la fonction Addval lorsque vous appuyez sur le bouton, je voudrais que la fonction soit déclenchée si le curseur est dans le champ d'entrée, et em> la touche Entrée est enfoncée. P> Je suis capable d'ajouter des auditeurs d'événements pour «Onfocus» ou «KeyPress», mais vous ne savez pas comment combiner les deux conditions. Tous les conseils sur la meilleure méthode ou la meilleure logique pour y parvenir avec Jusk JS / HTML? P> HTML: P> numField.addEventListener('keypress', function(e){
e.preventDefault();
if(e.key==='Enter'){
addVal();
}
})
3 Réponses :
Ceci est parce que formulaire code> ou quelque chose, donc si vous n'utilisez pas code> code> du tout, vous ne pouvez pas empêcher aucun événement. p>
<form>
<label for="numAdder">Type a number here.</label>
<input type="text" id="numAdder" name="numAdder">
<button id="addBtn" type="button">add</button>
</form>
Tout mettre à l'intérieur d'un formulaire
p>
<form> <label for="numAdder">Type a number here.</label> <input type="text" id="numAdder" name="numAdder"> <button type="submit">Add</button> </form>
Ainsi, afin de déclencher un événement chaque fois que vous placez votre curseur dans le champ Entrée, vous devez ajouter un événement Onblur au champ d'entrée -
<script> inputfield = document.getElementById("numAdder"); inputfield.onblur = function(){ console.log("Event Triggered"); // Whatever you want to do here } </script>
Avez-vous essayé cela, ONBLUR est le meilleur événement qui soit déclenché lorsque la position du curseur change dans le champ de saisie.
Oui, avec ce code, la fonction est déclenchée lorsque je clique dans le champ de saisie puis sur celui-ci.
Est-ce que cela répond à votre question? Entrez la touche Appuyez sur l'événement dans JavaScript
Ne le pense pas, cette question ne prend pas en compte le curseur / la concentration.
Juste FYI: Cela n'apparaît pas de votre question que votre problème est avec la manière de capturer l'événement, mais avec la manière de détecter la touche Entrée, qui est ce que le lien ci-dessus répond.