我有以下nicEditor实现,并且在设置var over = 1时尝试更改行为。这是所需的行为:
现在,如果文本长度回到5以下,我们将回到“5岁以下,先去”消息。我认为解决方案是将var的值更改为全局变量,但无法弄清楚如何执行此操作。 。这是jsfiddle:http://jsfiddle.net/jGLRn/182
HTML
JS: nicEditors.allTextAreas();
var over = 0;
$("div.nicEdit-main").keyup(function() {
var text_count = $(this).text().length;
if ($(this).text().length < 5) {
var text = $(this).text();
$('#id_desc').val(text);
console.log("under 5, first go");
} else {
var text = $(this).text();
$('#id_desc').val(text);
console.log("over 5");
$('.nicEdit-main').removeClass('error');
$("#id_desc-error").remove();
over = 1;
}
if ((over == 1) && (text < 5)) {
console.log("YAYYYYY, I got it!");
}
});
答案 0 :(得分:2)
您正在创建一个阴影变量over
,因为您在var over
函数中执行keyup
,这意味着在keyup中,over将始终引用非全局函数。删除该行,它将起作用
答案 1 :(得分:0)
从var over;
处理程序中删除keyup
,因为您的句柄将此作为变量使用,而不是递增全局变量。