0

我正在将一些动态内容加载到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 函数 OK),样式就会永远丢失。

我犯了一个概念上的错误吗?知道是什么让 jQuery 失效了吗?或任何建议如何正确恢复按钮?

顺便说一句,我并不真正关心按钮的样式,它更基本,因为我计划在div未来使用更多的 jQuery。

4

1 回答 1

0

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

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

这对我每次都有效。

于 2013-03-27T22:55:52.113 回答