jQuery .change()仅在键盘上单击或按下按钮

时间:2018-02-08 10:07:17

标签: javascript jquery

我需要帮助我的javascript / jQuery代码的奇怪行为。

简单文本输入的jQuery .change()只有在我点击页面或chrome控制台或按键盘上的某个键时才会执行,但是当我在文本输入中键入文本时却不会执行。

当然,我希望,每次更改文本输入后都会执行该代码,但现在看起来像:

  1. 我在文字输入中输入内容
  2. 什么都没发生
  3. 我点击文档中的任意位置或按一个键,比方说“tab”
  4. 代码按预期运行
  5. 有人可以解释我发生了什么吗?

    Му代码很简单:

    $('#search_field').change(function() {
      alert("test")
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="text" name="search_field" class="form-control" id="search_field" placeholder="Search" />

1 个答案:

答案 0 :(得分:3)

  1. 如果你想在类型上使用on('input')
  2. $('#search_field').on('input',function() {
      alert($(this).val())
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="text" name="search_field" class="form-control" id="search_field" placeholder="Search" />