Javascript 异步包含的div的jQuery移动样式

Javascript 异步包含的div的jQuery移动样式,javascript,jquery,css,jquery-mobile,Javascript,Jquery,Css,Jquery Mobile,我正在使用jQuery移动库开发一个移动网站。我在主页上有一个页眉、页脚和内容区域,所有链接都使用以下代码加载到内容区域: $("a").click(function() { var toLoad = $(this).attr('href'); // Loading image $('#content-body').html('<table class="loader"><tr><td><img src="<?php echo SITE_ROOT

我正在使用jQuery移动库开发一个移动网站。我在主页上有一个页眉、页脚和内容区域,所有链接都使用以下代码加载到内容区域:

$("a").click(function() {
var toLoad = $(this).attr('href');

// Loading image
$('#content-body').html('<table class="loader"><tr><td><img src="<?php echo SITE_ROOT; ?>/img/ico/loader.gif" /></td></tr></table>');

$('#content-body').load(toLoad);

但是,当我将该页面异步加载到
content
div中时,链接不会显示为按钮。有没有办法告诉jQuery Mobile在每次重新加载
#内容时应用移动样式

你当然可以。您想使用
.trigger('create')
初始化任何jQuery移动小部件:

$("a").click(function() {
    var toLoad = $(this).attr('href');

    // Loading image
    $('#content-body').html('<table class="loader"><tr><td><img src="<?php echo SITE_ROOT; ?>/img/ico/loader.gif" /></td></tr></table>');

    $('#content-body').load(toLoad, function () {
        $(this).trigger('create');//it's that easy :)
    });
});

看起来很有希望,但还是不行。作为一个简单的例子,当应用程序第一次加载时,它会对初始内容进行AJAX调用。我现在用
$('#content body').load('/?home').trigger('create')相关的HTML是:
,我现在试图加载的是一个文件,其中包含:
,那么您对为什么该链接没有显示为按钮有什么想法吗?@怀旧卡巴杰这里是我的代码示例:。现在我正在查看上面的代码,我可以明白为什么它不工作了,它在
.load()
完成之前运行
.trigger('create')
。因此,
.trigger('create')
应该位于
.load()
调用的回调函数中。我的答案已经更新了。
$("a").click(function() {
    var toLoad = $(this).attr('href');

    // Loading image
    $('#content-body').html('<table class="loader"><tr><td><img src="<?php echo SITE_ROOT; ?>/img/ico/loader.gif" /></td></tr></table>');

    $('#content-body').load(toLoad, function () {
        $(this).trigger('create');//it's that easy :)
    });
});
$('#content-body').delegate('a', 'click', function() {
    var toLoad = this.href;//no need to use jQuery here since `this.href` will be available in all major browsers

    // Loading image
    $('#content-body').html('<table class="loader"><tr><td><img src="<?php echo SITE_ROOT; ?>/img/ico/loader.gif" /></td></tr></table>');

    $('#content-body').load(toLoad, function () {
        $(this).trigger('create');//it's that easy :)
    });
});