Jquery限制输入框中的文本

kuk*_*pei 16 javascript jquery

我想限制输入文本字段中的字符数.

我正在使用的代码:

function limitText(field, maxChar){
    if ($(field).val().length > maxChar){
       $(field).val($(field).val().substr(0, maxChar));
    }
}
Run Code Online (Sandbox Code Playgroud)

事件是onkeyup.当我在输入字段中键入一些文本时,光标停留在文本的末尾,但焦点在文本的开头支持,所以我看不到光标.

什么可能是一个问题.

浏览器是FF,在IE和Chrome上它正常工作

Tie*_*ies 35

你也可以这样做:

<input type="text" name="usrname" maxlength="10" />
Run Code Online (Sandbox Code Playgroud)

要使用jQuery实现这一点,您可以这样做:

function limitText(field, maxChar){
    $(field).attr('maxlength',maxChar);
}
Run Code Online (Sandbox Code Playgroud)


the*_*dox 7

您的代码在FF中运行.以下是您的代码的略微修改版本:

$('input.testinput').on('keyup', function() {
    limitText(this, 10)
});

function limitText(field, maxChar){
    var ref = $(field),
        val = ref.val();
    if ( val.length >= maxChar ){
        ref.val(function() {
            console.log(val.substr(0, maxChar))
            return val.substr(0, maxChar);       
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

演示