I'd like to either simply swallow an Enter key press in <input>
fields or else instead substitute Tab key presses. I haven't yet decided which is best.
How can I do this in jQuery? I've got this so far:
$(document).ready(function(){
...
//handle enter key
$("input").keypress(function (e) {
var k = e.keyCode || e.which;
if (k == 13) {
//???
}
});
});
(That e.keyCode || e.which
part was recommended in this question.)
What might I put there to either (a) cancel the event or else to (b) force a Tab key press?
With e.preventDefault() you can prevent the default action, which in this case is submiting the form.
Or return false;
:
$(document).ready(function(){
...
//handle enter key
$("input").keypress(function (e) {
var k = e.keyCode || e.which;
if (k == 13) {
return false; // !!!
}
});
});
Also, if you'd like to just mimic a tab to the next control, as you mentioned, you could try this method by jdsharp.
$(document).ready(function(){
...
//handle enter key
$("input").keypress(function (e) {
var k = e.keyCode || e.which;
if (k == 13) {
$(this).focusNextInputField();
}
});
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With