刷新$(文档).ready()

时间:2012-10-16 21:42:04

标签: jquery

我正在构建一个Web应用程序,有一段时间它一直困扰着我,当我通过ajax将HTML加载到我的页面时,我需要在$(document).ready()中刷新我的函数。

我们举个例子说我有这个:

$(document).ready(function () {

    $('#searchInput').keyup(function () {
        // Do something
    });

});

然而,当加载DOM时,我的输入字段id =“searchInput”没有被加载 - 当用户点击特定元素时,稍后使用ajax加载它。 现在加载了id =“searchInput”的输入字段,但是keyup(function)不会监听#searchInput,因为它没有加载到原始DOM中。

目前,我唯一的解决方案就是这样做:

function loadEvents() {
    $('#searchInput').keyup(function () {
        // Do something
    });
}

$(document).ready(function () {
    loadEvents();
});

然后在ajax上取得成功:

succes:
    function() {
        loadEvents();
    }

这有效......但我不禁认为有一种更聪明的方式......

我的loadEvents()中有多个函数,对我来说,每次ajax调用成功时,我似乎不是重新加载所有函数的最佳解决方案吗?

当然我可以进行许多不同的ajax调用,这些调用在ajax上执行所需的特定函数,但是我将不得不创建许多不同的ajax函数。

那里有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码在一个地方合并所有成功回调代码

$(selector).ajaxSuccess(function(event,xhr,options){
     //DO YOUR STUFF HERE
});

http://api.jquery.com/ajaxSuccess/

了解详情