javascript - 在 DOM 被 ajax 调用更改后,是否可以重新绑定(bind) jquery 事件?

标签 javascript jquery

我有一个通过 ajax 调用动态重新填充的表。

我还有一个 keyup 事件,它根据用户输入过滤表格行:

$('input#DocumentType').keyup(function () { filter rows });

但是当我通过 ajax 调用重新填充表格时,过滤器不再起作用。有没有办法避免这种情况,以便我能够使用 keyup 事件?每次从 ajax 调用更改表行时是否可以重新绑定(bind)它?

这是我过滤的方式:

<script type="text/javascript">
  var $cellsT = $("table tbody tr td:nth-child(4)"),
    $hiddenT = $();
  $("input#DocumentType").keyup(function () {
    var search = $(this).val();
    var $to_hide = $cellsT
      .filter(function () {
        var s = $(this).text().indexOf(search) === -1;

        if (s === false) {
          foundDocuments = true;
        }
        return $(this).text().indexOf(search) === -1;
      })
      .parent();

    $hiddenT.not($to_hide.get()).show();
    $hiddenT = $to_hide.hide();
  });
</script>

最佳答案

你可以做 $('input#DocumentType').live("click",function(){});

同样在最新版本的 jQuery 中,它更喜欢使用 .on().off() 而不是 live()死()

关于javascript - 在 DOM 被 ajax 调用更改后,是否可以重新绑定(bind) jquery 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8948756/

相关文章:

javascript - AngularJs 添加 ... 并将所有标签关闭到摘录

javascript - Angular.js 中的 Promise

javascript - 这个架构在 Angular 1.2 及以上版本下是否仍然有效

javascript - 我尝试使用 ajax 部分刷新 html,但它不起作用

javascript - 如何在React应用程序中从数据库获取并显示图像

JavaScript 每次点击时增加++ 不透明度

javascript - 确定 html 标签的内容何时更改

javascript - 滚动到下一个 <div> 使用 jQuery 使用 css::after 元素

javascript - 通过单击外部关闭 jQuery 下拉菜单

jQuery autocomplete - 获取自动完成输入字段的 id