每次ajax调用后重新启动相同的jquery插件?

时间:2014-02-27 17:26:31

标签: jquery ajax jquery-plugins

我有一个jquery插件 - 快速搜索 - 我需要在ajax调用后开始工作,这样用户仍然可以在添加/删除项目后搜索表格。

以下是执行插件的代码:

$('.quicksearch').quicksearch('table.quicksearch>tbody>tr',{
    'delay':100,
    'noResults': '.quicksearch tr.noresults',
    'removeDiacritics':true,
});

当我执行ajax请求时,我empty()表格detach(),然后append()结束。

在SO上读了一下之后,看起来我必须在ajax调用完成后重新启动插件 - 在附加了表之后。
就像我第一次加载页面时那样 - 就像上面的代码一样。

在我的情况下,我将上述代码放在jqXHR.done()

但是由于我有很多需要这个插件的AJAX调用,我现在必须在每个调用的末尾添加这些小代码。

有没有办法让这更简单?或者它是怎么回事? 这是完全相同的代码..

1 个答案:

答案 0 :(得分:1)

执行空/分离/追加后,您将不得不在桌面上调用.quicksearch函数。你可以把它全部放在像resetQuicksearchTable()这样的函数中,以使它更方便。

你也可以看看quicksearch是否对事件委托有任何支持,而不是直接附加到tr,但我还没有使用过那个插件,所以不能说。