JQueryUI样式有时会在Ajax加载的内容中丢失

时间:2013-03-27 22:46:23

标签: javascript jquery ajax

我正在将一些动态内容加载到div容器中,并使用以下内容将JQueryUI样式重新应用于我的按钮(之前在此论坛中讨论过):

$('#menu li a').click(function(){
    $('#main').load('load.php ' + $(this).attr('href'));
    $.ajax({
        success: function(){
            $("#button").button();
        }
    });
    return false;
});

大多数时候一切正常。只是零星的风格丢失了。看起来它与时间有关,这使得它难以复制。可能是因为成功事件不足以将jQuery重新应用到按钮上吗?

顺便说一句,只要php文件中只有HTML内容即可。像这样:

<div id="main">
    <h2>This is a Button</h2>
    <button id="button">My Button</button>
</div>

一旦我开始添加一些php代码(容器中的PHP函数正常),样式就会永远丢失。

我制作的概念性错误是什么?知道是什么抛出了jQuery吗?或者有关如何正确恢复按钮的任何建议?

Btw,我并不关心按钮的样式,它更为基础,因为我计划在div中使用更多的jQuery。

1 个答案:

答案 0 :(得分:0)

您应该尝试在.load()调用的回调中使用它,如下所示:

 $('#menu li a').click(function(){
        $('#main').load('load.php ' + $(this).attr('href'), function()
        {
            $("#button").button();
        });
        return false;
    });

每次都适合我。