我有一个通过 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/