即时监控textarea以获取特定字符串

时间:2015-07-15 18:05:47

标签: javascript jquery

我正在构建一个连接到我们后端帮助台的表单。我想要做的其中一件事是监视正文短语的正文区域字段。让我们说这句话是"新计算机"。当有人输入"我想要一台新电脑"一个函数将触发,创建一个弹出窗口,告诉他们需要转到更高级的窗体。

这是我到目前为止所拥有的

$('#body').on('change', function () {
    if ($("#body").val().toLowerCase().indexOf("new computer") >= 0){
        alert("stuff");
    } else {
        //Other stuff
    }
});

问题是这种方法很慢。在输入警报单词后大约需要10秒左右。不是世界末日,但我已经看到它几乎立即发生的地方。有任何想法吗?

2 个答案:

答案 0 :(得分:1)

以下是使用keyup代替change

的相同代码



$('#body').on('keyup', function () {
    if ($("#body").val().toLowerCase().indexOf("new computer") >= 0){
        alert("stuff");
    } else {
        //Other stuff
    }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id='body'></textarea>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尝试使用:

jQuery("#body").on("keyup", function(e){
  if ($(t).val(his).toLowerCase().indexOf("new computer") >= 0){
    alert("stuff");
  } else {
    //Other stuff
  }
});