This question already has an answer here:
$(window).keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
The above is the code I got which effectively kills the "enter" key as a form submitter throughout the system, which is exactly what I want. However, the enter key is also disabled on textarea
tags - which the users should be able to hit enter on in order to go to the next rows. So is there a way to modify the above code to detect IF the enter is coming from within a textarea
tag, it doesn't run the event.preventDefault();
line?
I have so many forms throughout the site - having to configure them individually would be a nightmare, and probably doesn't make sense - there's gotta be a universal way. The above code runs on every single page of the site to prevent accidental submits by hitting "enter".
i would prefer the
keyup
event ... use theevent.target
propertydemo
I edit from @The Alpha a bit, i use div for wysiwyg editors :)...
Why not just block the form's
submit
event from triggering instead?You may try this
A fiddle is here.
This seems like a good opportunity to use the event object and a scalpel-like approach on this mosquito instead of a cannon-like approach.
In other words, something like this:
The advantage here should be relatively obvious, if you hit enter anywhere that doesn't submit a form, this code doesn't know, doesn't care, doesn't cause problems.
@3nigma's solution would work just fine but here another way of achieving this behavior: