jQuery: Prevent enter key [duplicate]
I am trying to prevent the enter key from being put into a textarea, but it doesn't seem to work.
$('#comment').keyup(function(event) {
if (event.text.charCodeAt() == '10') {
event.preventDefault();
}
});
Solution 1:
I have written little demonstration on jsfiddle.net, where you can try this code
Everybody has right answer :)
$('#comment').keypress(function (event) {
if (event.keyCode === 10 || event.keyCode === 13) {
event.preventDefault();
}
});
Solution 2:
You can't cancel a keyup
event. You can cancel keydown
and keypress
events though. In the documentation, notice that under "Event Information", "Cancels" is "No" for keyup
:
- keyup
- keydown
- keypress
Using keydown
allows you to cancel far more keys than keypress
, but if you don't want to cancel until after the key has been lifted, keypress
is what you want. Fortunately for you, the enter key is one of the cancellable keys for the keypress
event.
Solution 3:
Use event.keyCode
in the keydown
event:
$('#comment').keydown(function(event) {
if(event.keyCode == 13) return false;
//carry on...
});
Solution 4:
$('#comment').keypress(function(event) {
if (event.keyCode == 13) {
event.preventDefault();
}
});