хотел расширить jQuery для обработки пользовательского события ввода клавиши на основе tabindex

Я пишу следующий код для обработки, когда клавиша ввода нажимается с несколькими проверками, например, если это текстовая область, разрешающая только четыре строки, и если значение пустое, сосредоточьтесь на себе.

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;
        }
    }
});

Есть ли способ сделать это пользовательской функцией, чтобы я мог просто вызвать функцию, например

$('theform').returnPress();

person Ullas Prabhakar    schedule 08.01.2011    source источник
comment
Что вы хотите, чтобы returnPress() делал?   -  person Adam Prax    schedule 08.01.2011


Ответы (1)


Я создал плагин для похожий вопрос ранее сегодня. Посмотрите!

Это не делает никакой проверки, но, возможно, вы можете изменить это самостоятельно.

person mekwall    schedule 08.01.2011
comment
Просто для протокола - аналогичный вопрос, на который вы ответили, от того же пользователя, что и этот. - person Matt Ball; 09.01.2011
comment
@ Мэтт, ха-ха. Просто вспомнил вопрос и не удосужился проверить пользователя. О, хорошо, урок усвоен. Спасибо за наводку ;) - person mekwall; 09.01.2011