Je tente d'exécuter du code javascript lorsque la touche 'Entrée' est enfoncée alors que le focus est sur une zone de texte particulière. Si cela se produit, je ne veux pas que la page soit publiée. (Cependant, si quelqu'un clique le bouton Soumettre, puis je veux la page postback comme il le ferait normalement.)empêche la publication de la fonction liée à jquery
J'ai une page avec le contenu suivant:
<script type="text/javascript">
$(function() {
$('#txtInput').on('keyup', function (e) {
if (e.keyCode == 13) {
alert('enter was clicked');
return false;
}
});
});
</script>
<asp:TextBox ID="txtInput" runat="server" ClientIDMode="Static"></asp:TextBox>
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmitClick" Text="Submit" />
J'ai toujours pensé que return false;
était le moyen d'accomplir cela, mais dans ce scénario, cela ne fonctionne pas.
J'ai également essayé ce qui suit dans ma fonction javascript, en vain.
$(function() {
$('#txtInput').on('keyup', function (e) {
if (e.keyCode == 13) {
e.cancel = true;
e.returnValue = false;
alert('enter was clicked');
}
});
});
Mes questions sont les suivantes:
1. Pourquoi pas ce travail?
2. Comment puis-je obtenir ce comportement?
cela peut être à cause de l'événement keyup. En théorie, la clé est déjà en place, donc l'événement est déjà arrivé.Avez-vous essayé avec keypress à la place? –
@CarlosMartinezT, l'événement 'keypress', combiné avec' return false', est la seule chose que je peux obtenir pour travailler. Je vous remercie. Vous devriez poster ceci comme réponse. –