Javascript 超级链接不';无法在新选项卡中打开

Javascript 超级链接不';无法在新选项卡中打开,javascript,hyperlink,Javascript,Hyperlink,我重新设计了我的网站,我有一个超链接的问题看到我的代码,我认为问题是在js <li class="product aopc"> <a class="product-link"></a> <div class="product-details mCustomScrollbar"> <a target="_blank" href="my link in pdf"><i class="materi

我重新设计了我的网站,我有一个超链接的问题看到我的代码,我认为问题是在js

<li class="product aopc">
        <a class="product-link"></a>
        <div class="product-details mCustomScrollbar">
    <a target="_blank" href="my link in pdf"><i class="material-icons">picture_as_pdf</i></a>
    </li>
这是: $container.on('click','.close',函数(事件){ event.stopPropagation(); closeItem($(this).closest('.product')); });

函数openItem($item){
var$image=$item.find('.product image');
$item.addClass('loading').spin(spinJsConfiguration);
$image.attr('src',$image.data('src large');
$item.imagesLoaded(函数(){
$item.spin(false).removeClass('load').addClass('open');
$container.addClass('item open').同位素('relayat');
$item.append(“×;”);
});
}
函数关闭项($item){
$item.removeClass('open').find('.close').remove();
$container.removeClass('item open').同位素('relayat');
}
});

任何帮助都将不胜感激

由于单击处理程序,链接无法工作。您的链接是li产品的子链接

单击处理程序包含preventDefault()。删除该选项将使链接重新工作

编辑: 根据您的评论,更改以下内容:

$container.on( 'click', '.product', function( event ) {
    var $this = $( this );
致:


删除
preventDefault()

是否出现错误?您使用的浏览器是什么?Safari不会在新选项卡中打开,因为他们的安全策略问题不在html中,因为我在没有脚本的情况下进行了测试,它可以工作,但我使用同位素来过滤产品,使用脚本超链接无法工作,但如果我删除此超链接,我的脚本将停止。我在codepen上做了一个测试,为您更新了答案。谢谢Boratzan,但当我点击产品时,页面会重新加载,这可能是因为您删除了默认设置。如果您像我的回答中那样更改代码,您可以保留默认值。再次更新了答案。感谢Boratzan你救了我的命,我对javascript感到不舒服。
function openItem( $item ) {
    var $image = $item.find( '.product-image' );

    $item.addClass( 'loading' ).spin( spinJsConfiguration );

    $image.attr( 'src', $image.data( 'src-large' ) );

    $item.imagesLoaded( function() {
        $item.spin( false ).removeClass( 'loading' ).addClass( 'open' );
        $container.addClass( 'item-open' ).isotope( 'reLayout' );
        $item.append( '<div class="close">&times;</div>' );
    });
}
function closeItem( $item ) {
    $item.removeClass( 'open' ).find( '.close' ).remove();
    $container.removeClass( 'item-open' ).isotope( 'reLayout' );
}
});
$container.on( 'click', '.product', function( event ) {
    var $this = $( this );
$container.on( 'click', '.product-link', function( event ) {
    var $this = $( this ).parent();