Javascript 第二个函数没有被调用
这是我一直在努力解决的问题。我创建了两个函数,如下所示:Javascript 第二个函数没有被调用,javascript,jquery,html,Javascript,Jquery,Html,这是我一直在努力解决的问题。我创建了两个函数,如下所示: function limit_char_normal(textid, limit, infodiv){ var text = $('#'+textid).val(); var textlength = text.length; if (textlength > limit) { alert("Number of characters exceeded!"); $('#'+te
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 limit\u char\u normal(textid、limit、infodiv){
var text=$('#'+textid).val();
var textlength=text.length;
如果(文本长度>限制){
警报(“超出字符数!”);
$('#'+textid).val(text.substr(0,limit));
返回false;
}否则{
$('#'+infodiv).html(''+(limit-textlength)+'';
返回true;
}
};
函数限制\u字符\u unicode(textid、限制、infodiv){
var text=$('#'+textid).val();
var textlength=text.length;
如果(文本长度>限制){
警报(“超出字符数!”);
$('#'+textid).val(text.substr(0,limit));
返回false;
}否则{
$('#'+infodiv).html(''+(limit-textlength)+'';
返回true;
}
}
$(文档).ready(函数(){
$(“#正常”)。单击(函数(){
$('#infodiv').show();
$('#infodiv2').hide();
$('正常消息').val('');
$(“#正常消息”).bind('keyup keydown click',function(){
限制字符正常('normal_message',153,'infodiv');
});
});
$(“#unicode”)。单击(函数(){
$('#infodiv2').show();
$('#infodiv').hide();
$('正常消息').val('');
$(“#正常消息”).bind('keyup keydown click',function(){
限制字符正常('normal_message',63,'infodiv2');
});
});
});
正常的
统一码
153
63
当我点击正常按钮时,功能
工作正常。单击普通按钮后,我单击unicode按钮,它工作正常,字符扣除没有问题
单击unicode按钮并单击“返回正常”后,只需调用函数limit\u char\u unicode()
,而不要调用limit\u char\u normal()
函数
我已经包括了JSFIDLE供您参考
如果你能帮忙,那就太好了 您定义了一个名为
limit\u char\u 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\u char\u normal
更改为limit\u char\u unicode
,然后重试。limit\u char\u unicode
没有从代码中的任何位置被调用(limit\u char\u normal
被调用两次-可能是CTRL+C/CTRL+V问题。这种情况经常发生!),正如马龙所说,看起来是睡觉的好时机:)每次单击收音机时,您都在注册一个新的处理程序。。。另外,由于你有上键和下键处理程序,它们的发射次数非常多。。。我可以把它改写成LOL!!对不起,伙计们。这是我的错。很抱歉。