quería extender jQuery para manejar un evento de tecla enter personalizado basado en tabindex

Escribo el siguiente código para manejar cuando la tecla enter presionó y con algunas validaciones, como si fuera un área de texto, solo permita cuatro líneas y si el valor está vacío, concéntrese en sí mismo.

var temp = 1;
 function getLines(id)
    {
      return temp=temp+id;
    }
$("#theform").keypress(function(e){
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;                                
    if (key == 13) {
        var $targ = $(e.target);
        var tindex = $targ.attr("tabindex");
        var count =1;
        var focusNext = false;
        var allowedNumberOfLines = 4;
       if ($targ.is("textarea") && !$targ.is(":button,:submit")) {
          var lines= getLines(count);
            if (lines > allowedNumberOfLines)
            {
            $("#login_error").css('background', '#F7F77C').fadeIn(1000).html("Only "+allowedNumberOfLines+" Lines Allowed").fadeOut(1000);
            tindex++;
            $("[tabindex=" + tindex + "]").focus();    
            return false;
            }
        }
        else if($targ.val() =='' || $targ.val() == "undefined")
        {
        $("[tabindex=" + tindex + "]").focus();    
         return false;
        }
        else if($targ.val() !='' || $targ.val() != "undefined")
        {
        tindex++;
        $("[tabindex=" + tindex + "]").focus();    
         return false;
        }
    }
});

¿Hay alguna forma de convertirla en una función personalizada para que pueda llamar a la función como

$('theform').returnPress();

preguntado el 08 de enero de 11 a las 16:01

¿Qué desea que haga returnPress ()? -

1 Respuestas

Creé un complemento para un pregunta similar el día de hoy. Ver la guía

Esto no realiza ninguna validación, pero tal vez pueda cambiarlo usted mismo.

contestado el 23 de mayo de 17 a las 15:05

Solo para el registro: la "pregunta similar" que respondió es del mismo usuario que este. - Matt Ball

@ Matt, jaja. Acabo de recordar la pregunta y no se molestó en verificar al usuario. Oh bien, lección aprendida. Gracias por el aviso ;) - mekwall

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.