хотел расширить jQuery для обработки пользовательского события ввода ключа на основе tabindex - PullRequest
0 голосов
/ 08 января 2011

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

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

1 Ответ

0 голосов
/ 08 января 2011

Я создал плагин для аналогичного вопроса ранее сегодня. Проверьте это!

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

...