0

我在 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);
            }
        });
4

2 回答 2

0

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

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

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

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

于 2012-11-01T07:55:50.673 回答
0

这个jquery怎么样?

jQuery(document).delegate('a[target=_blank]', 'click', function(e){
    e.preventDefault(); 
    var url = jQuery(this).attr('href'); 
    window.open(url, '_blank');
});
于 2015-05-06T03:57:54.180 回答