Jquery – 限制文本输入中的文本,而不是textarea

使用jquery如何限制可以在文本字段中输入的字符数? 不是指textarea,只是一个普通的文本输入字段。 我有一个表格,并通过iPad使用IOS5查看maxlength属性由于某种原因被忽略。 如果我使用maxlength = 10,我可以在此字段中永久键入,它不会停止在10个字符。 所以看起来我需要jquery来限制字段。 有什么建议?

更新

使用maxedison中的示例和Marc B的建议,这是我提出的代码:

$('#textfld','#textform').keyup(function() { if($(this).val().length > 20) { var text = $(this).val().substring(0,20); $(this).val(text); } }); 

您需要绑定到该字段的keydown事件,并阻止它输入一个字符,如果该字段中已有10个字符: http : //jsfiddle.net/j6tJ3/

  $('input').keydown(function(e){ if($(this).val().length > 9 && e.which !== 8 && e.which !== 46){ //if it's too long and the key pressed isn't backspace or delete return false; } });