刷新? Jquery .live / .load之后的Javascript

时间:2012-01-04 00:58:03

标签: javascript jquery wordpress load live

我想通过菜单在div中加载一些外部内容片段。

发现“加载”和“直播”,发现tutorial 使用它=成功! 除了文档中明确的内容之外,它不会加载JavaScript。

问题是,目标页面已经在标题内加载了相同的JavaScript,因为Wordpress会在每个页面中加载它。在这个特定的页面中,我只是通过jQuery AJAX调用使用插件(nextgen gallery)。

所以,我认为我的问题是我需要提醒/重新加载JavaScript,对吗?

我该怎么做?

<script type="text/javascript" charset="utf-8">
jQuery(document).ready(function(){  
    // ajax pagination
    jQuery('#naveg a').live('click', function(){ // if not using wp-page-numbers, change this to correct ID
        var link = jQuery(this).attr('href');
                    // #main is the ID of the outer div wrapping your posts
        jQuery('#fora').html('<div class="loading"><h2>Loading...</h2></div>');
                    // #entries is the ID of the inner div wrapping your posts
        jQuery('#fora').load(link+' #dentro')
    return false;   
    }); 
}); // end ready function
</script>

PS:我用“on”代替“live”但是也没用。

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解...你的load()命令在你想要执行的一些Javascript中出现了什么?我不确定你能否那样做。但是如果你只需要在load()完成时调用一些JS,就可以传递一个类似的函数:

jQuery('#fora').load(link+' #dentro', function() {
    console.log("load completed");
    // JS code to be executed...
});

答案 1 :(得分:0)

如果要执行加载页面中包含的Javascript代码(通过.load()检索的页面),则必须使用不带“后缀选择器表达式”的url-parameter。请参阅(.load())的jQuery文档:

  

注意:使用不带后缀选择器表达式的URL调用.load()时,内容会在脚本生成之前传递给.html()   除去。这将在丢弃之前执行脚本块。如果   但是,调用.load()时会将一个选择器表达式附加到   URL,在更新DOM之前删除脚本,   这就是他们永远不会被执行的原因。两种情况的例子都可以   如下所示:

     

这里,作为文档一部分加载到#a的任何JavaScript都将   成功执行。

$('#a').load('article.html');
     

但是在这种情况下,正在加载的文档中的脚本块   #b在执行之前被删除:

$('#b').load('article.html #target');

我认为这是你的问题(虽然我没有你的解决方案,抱歉)。

提案:也许您可以加载整个页面(包括脚本)并删除(或隐藏)您不需要的部分?

干杯。