1
只是一個我一直在努力的問題。我已經創建了兩個功能,如下所示:第二個函數不被稱爲
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/
這將是巨大的,如果你能幫忙。
'limit_char_unicode'沒有在代碼中的任何地方被調用('limit_char_normal'被調用了兩次 - 可能是CTRL + C/CTRL + V的問題,它恰巧!) –
由於Marlon sais,看起來像是個好時機一些睡眠:) –
每次單擊收音機時,您都註冊了一個新處理程序......因爲您有keyup和keydown處理程序,所以這些處理程序正在發射一個瘋狂的次數......我可能會將其重寫爲http:// jsfiddle。 net/arunpjohny/6343F/2/ –