Jquery限制输入框中的文本

Jquery limit text in input box

本文关键字:文本 输入 Jquery      更新时间:2023-09-26

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

我正在使用的代码:

function limitText(field, maxChar){
    if ($(field).val().length > maxChar){
       $(field).val($(field).val().substr(0, maxChar));
    }
}

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

什么可能是个问题。

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

您也可以这样做:

<input type="text" name="usrname" maxlength="10" />

要使用jQuery实现这一点,可以执行以下操作:

function limitText(field, maxChar){
    $(field).attr('maxlength',maxChar);
}

您的代码在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);       
        });
    }
}

演示