在通过ajax调用更改DOM后,是否可以重新绑定jquery事件?

时间:2012-01-20 22:36:00

标签: javascript jquery

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

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

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

但是当我从ajax调用重新填充表时。过滤器不再有效。有没有办法绕过这个,以便我能够使用keyup事件?每次表行从teh ajax调用改变时,是否可以重新绑定它?

这是我如何过滤:

<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>

1 个答案:

答案 0 :(得分:5)

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

同样在最新版本的jQuery中,首选使用.on().off()代替live()die()