重新加载Jquery.live/.load之后的Javascript

Reload? Javascript after Jquery .live/.load

本文关键字:load 之后 Javascript live Jquery 新加载 加载      更新时间:2023-09-26

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

找到"load"answers"live",找到一个教程使用它=成功!除了,就像文档中明确的一样,它不加载JavaScript。

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

所以,我认为我的问题是,我需要提醒/重新加载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>

附言:我用"on"代替了"live",但也没用。

我不确定我是否理解。。。你的load()命令正在插入一些你想要执行的Javascript?我不确定你能不能做到。但是,如果您只需要在load()完成时调用一些JS,您可以向它传递这样的函数:

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

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

注意:当使用不带后缀选择器表达式的URL调用.load()时,在脚本已删除。这将在丢弃脚本块之前执行脚本块。如果但是,调用.load()时会将选择器表达式附加到在更新DOM之前剥离脚本,这就是为什么他们永远不会被执行。这两种情况的一个例子可以是如下所示:

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

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

但是在这种情况下,要加载到的文档中的脚本块#b在执行之前被剥离:

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

我认为这是你的问题(尽管我没有办法为你解决,对不起)。

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

干杯。