javascript - Evento de JQuery para cuando el usuario presiona enter en un cuadro de texto?
¿Hay algún evento en jQuery que se active solo si el usuario presiona el botón enter en un cuadro de texto? ¿O algún plugin que se pueda agregar para incluir esto? Si no, ¿cómo escribiría un plugin rápido que hiciera esto?
Respuesta #1
Puedes conectar tu propio evento personalizado
$('textarea').bind("enterKey",function(e){
//do stuff here
});
$('textarea').keyup(function(e){
if(e.keyCode == 13)
{
$(this).trigger("enterKey");
}
});
http://jsfiddle.net/x7HVQ/
Respuesta #2
$('#textbox').on('keypress', function (e) {
if(e.which === 13){
//Disable textbox to prevent multiple submit
$(this).attr("disabled", "disabled");
//Do Stuff, submit, etc..
//Enable the textbox again if needed.
$(this).removeAttr("disabled");
}
});
Respuesta #3
Aquí tienes un complemento para ti: (Fiddle: http://jsfiddle.net/maniator/CjrJ7/)
$.fn.pressEnter = function(fn) {
return this.each(function() {
$(this).bind('enterPress', fn);
$(this).keyup(function(e){
if(e.keyCode == 13)
{
$(this).trigger("enterPress");
}
})
});
};
//use it:
$('textarea').pressEnter(function(){alert('here')})
Respuesta #4
aquí hay un plugin de jQuery para hacer eso
(function($) {
$.fn.onEnter = function(func) {
this.bind('keypress', function(e) {
if (e.keyCode == 13) func.apply(this, [e]);
});
return this;
};
})(jQuery);
para usarlo, incluye el código y configúralo así:
$( function () {
console.log($("input"));
$("input").onEnter( function() {
$(this).val("Enter key pressed");
});
});
jsfiddle de esto aquí http://jsfiddle.net/VrwgP/30/
