这是我一直在努力解决的问题。我创建了两个函数,如下所示:
function limit_char_normal(textid, limit, infodiv){
var text = $('#'+textid).val();
var textlength = text.length;
if (textlength > limit) {
alert("Number of characters exceeded!");
$('#'+textid).val(text.substr(0,limit));
return false;
}else{
$('#' + infodiv).html(''+ (limit - textlength) +'');
return true;
}
};
function limit_char_unicode(textid, limit, infodiv){
var text = $('#'+textid).val();
var textlength = text.length;
if (textlength > limit) {
alert("Number of characters exceeded!");
$('#'+textid).val(text.substr(0,limit));
return false;
}else{
$('#' + infodiv).html(''+ (limit - textlength) +'');
return true;
}
}
$(document).ready(function() {
$("#normal").click(function() {
$('#infodiv').show();
$('#infodiv2').hide();
$('#normal_message').val('');
$('#normal_message').bind('keyup keydown click',function(){
limit_char_normal('normal_message', 153, 'infodiv');
});
});
$("#unicode").click(function() {
$('#infodiv2').show();
$('#infodiv').hide();
$('#normal_message').val('');
$('#normal_message').bind('keyup keydown click',function(){
limit_char_normal('normal_message', 63, 'infodiv2');
});
});
});
<input type="radio" name="normal_message" value="normal" id="normal">Normal
<input type="radio" name="normal_message" value="unicode" id="unicode">Unicode
<textarea rows="4" cols="50" name="normal_message" class="normal_message" id="normal_message" placeholder="Hello Message">
</textarea>
<p id="infodiv" style="display:none;">153</p>
<p id="infodiv2" style="display:none;">63</p>
当我点击普通按钮时,function
工作正常。点击正常按钮后我点击unicode按钮它工作正常,字符扣除没有问题。
单击unicode按钮并单击恢复正常后,只需调用函数limit_char_unicode()
,从不调用limit_char_normal()
函数。
我已将jsfiddle包含在内供您参考。
http://jsfiddle.net/caocao89/FMNSt/
如果你能提供帮助,那将是很棒的。
答案 0 :(得分:0)
您已经定义了一个名为limit_char_unicode
的函数,并且不会从任何地方调用它。
$("#unicode").click(function() {
$('#infodiv2').show();
$('#infodiv').hide();
$('#normal_message').val('');
$('#normal_message').bind('keyup keydown click',function(){
limit_char_normal('normal_message', 63, 'infodiv2');
});
});
在上述功能中将limit_char_normal
更改为limit_char_unicode
,然后尝试。