jQuery-增量全局变量



我有以下Nicditor实现,一旦我设置了VAR = 1。这是所需的行为:

  1. 直到文本长度= 5,我们会收到控制台消息:"低于5,第一次去"
  2. 随着文本长度不断增长超过5,我们收到信息:"超过5"
  3. 然后,如果我们将文本长度缩短在5以下,我们会收到消息:" yayyyyy,我明白了!"

现在,如果文本长度返回到5以下,我们将返回"第5岁以下,第一个Go"消息。我认为解决方案是将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!");
  }
});

您正在创建一个阴影变量over,因为您在 keyup函数中执行 var over,这意味着在键入内部,始终将始终引用非全球范围。删除该行,它将工作

keyup处理程序中删除var over;,因为您的句柄将其用作变量,而不是增加全局。

相关内容

  • 没有找到相关文章

最新更新