代码之家  ›  专栏  ›  技术社区  ›  Sireini

将更改事件绑定到输入[重复]

  •  -1
  • Sireini  · 技术社区  · 6 年前

    这个问题已经有了答案:

    我试图做的是将onchange事件绑定到一个未附加的元素。但我就是这么想的:

      var $container = rule.$el.find('.rule-value-container');
      var html = `<input class="form-control" type="number" name="${ name }_0" step="any" min="0">`;
    
      console.log($(html));
      $(html).on('change', function(e) {
        console.log('test', e);
      })
    
      $container.html('');
      $container.append(html);
    }
    

    但这不起作用,我如何将on-change事件绑定到一个尚未附加的元素?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Zenoo    6 年前

    您需要将jquery对象直接存储在变量中,并将事件处理程序附加到它,而不是附加到html:

    var $container = $('.test');
    let input = $(`<input class="form-control" type="number" name="test" step="any" min="0">`);
    
    input.on('change', function(e){
        console.log('test');
    });
    
    $container.html('');
    $container.append(input);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="test"></div>