5

我有一个使用jQuery UI Tabs的页面,我正在做的是通过 Ajax 加载每个选项卡的内容,但我遇到的问题是,在我的选项卡的内容中,按钮(我'm using jQuery ui button ) 丢失所有的 jquery ui 类,这意味着:

第一次加载页面时,我的按钮如下所示:

<button class="my_button ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only">
<span class="ui-button-icon-primary ui-icon ui-icon-plusthick"></span>
</button>

如您所见,我的按钮包含所有 jquery-ui 类ui-button, ui-widget, etc...。此外,我的按钮有一个跨度,它显示一个加号(+)作为我的按钮的标签。因此,我的按钮显示正确。

但是当我通过 Ajax 加载相同的内容(包含相同的按钮)时,我的按钮变成了这样:

<button class="my_button"></button>

如您所见,我丢失了按钮的所有 jQuery ui 类。因此,按钮没有样式

我怎样才能解决这个问题?

注意:请注意,我没有手动将那些 jquery-ui 类添加到我的 HTML 中的按钮中。当您$(".my_button").button();在 jQuery 中使用初始化按钮时,jQuery 会自动将所有必要的 jquery-ui 类适当地应用到我的按钮。所以请不要告诉我这是因为我没有预先将 jquery-ui 类分配给我的按钮(我不应该这样做)。另外,我尝试了.live().delegate(),但这些都不起作用。

请帮我解决这个问题

谢谢

4

1 回答 1

4

我曾经遇到过这个问题并使用 document.ready 调用解决了这个问题

function myreadyFunc(){
    $(".my_button").button();
    // Other codes
}

我有我的文件。准备好如下

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

在每次 ajax(成功)调用之后,我曾经调用过

myreadyFunc();

希望这对你也有帮助。我使用这种方法来执行 document.ready 的代码,而在每次 ajax 调用之后调用 document.ready 是不可能的。

于 2012-02-25T15:46:33.983 回答