我想阻止用户在textarea中输入超过100个字符。我已经编写了代码,可以检测用户的帖子何时达到100个字符。但我不知道如何阻止他在此之外再输入任何内容:
$(document).ready(function(){
$('.comment').keyup(function(){
var count = this.value.length;
if (count > 100) {
// what goes here???
}
});
});
<textarea class="comment" rows="10" cols="30"></textarea>
答案 0 :(得分:3)
使用keypress
可能会更好。你可以return false;
$('textarea').keypress(function() {
if(this.value.length >= 100)
return false;
});
这也可以防止用户按住某个键输入超出限制的多个字符。
如果您想使用keyup
,可以这样做:
$('.comment').keyup(function(){
var count = this.value.length;
if (count > 100) {
this.value = this.value.substr(0,100);
}
});
答案 1 :(得分:1)
jQuery('textarea').keypress(function(e) {
if(this.value.length >= 100) {
e.preventDefault();
return false;
}
});
某些浏览器(如IE)需要使用preventDefault,并且全部支持;
但真的只需要一个href onclick
keyup不是防止键的好事件...使用keydown进行键重复
答案 2 :(得分:0)
$(document).ready(function(){
$('textarea[maxlength]').keyup(function(){
var max = parseInt($(this).attr(’maxlength’));
if($(this).val().length > max){
$(this).val($(this).val().substr(0, $(this).attr('maxlength')));
}
$(this).parent().find('.charsRemaining').html('You have ' + (max - $(this).val().length) + ' characters remaining');
});
});
来自http://that-matt.com/2008/07/textarea-maxlength-with-jquery/
还有一个插件