Jquery限制输入框中的文本

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

我正在使用的代码:

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

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

什么可能是一个问题。

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

你也可以这样做:

  

要使用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); }); } } 

演示