Wordpress:target =''_ blank“在使用ajax_page_loader插件时无法正常工作

时间:2012-11-01 07:12:03

标签: javascript jquery html wordpress wordpress-plugin

我在wordpress中使用ajax页面加载器插件。在我使用的每个帖子页面

<a id="a_link" rel="nofollow" title="Print This Page" target="_blank" href="http://myurl.com/temp/?page_id=444&print=1">
<img class="WP-PrintIcon" style="border: 0px;" title="Print This Page" alt="Print This Page" src="http://myurl.com/temp/wp-content/plugins/wp-print/images/print.gif">
</a>
<a id="a_link" rel="nofollow" title="Print This Page" target="_blank" href="http://myurl.com/temp/?page_id=444&print=1">Print This Page</a>

但无法打开新标签。我还在ajax页面加载器插件的脚本中编写JS代码,其中加载了内容。 在ajax页面加载时加载此脚本。

jQuery('a').click(function (event) {

            var id = jQuery(this).attr("id");
            if(id == 'a_link'){ var href = jQuery(this).attr("href");
                jQuery('#supersized-loader').css('display','none');
                window.open(href);
            }
        });

2 个答案:

答案 0 :(得分:0)

您应该稍微更改选择器的设计,以防止它处理所有链接:

jQuery('a[target!="_blank"]').click(function (event)

这样可以防止ajax页面加载器在属性为target="_blank"的链接上运行。您在加载器中添加的代码已经过时了。

而且:您只能使用ID 一次。在您的示例中,您至少使用a_link两次。

答案 1 :(得分:0)

这个jquery怎么样?

jQuery(document).delegate('a[target=_blank]', 'click', function(e){
    e.preventDefault(); 
    var url = jQuery(this).attr('href'); 
    window.open(url, '_blank');
});