在新标签页中打开方形空间幻灯片图库

时间:2015-07-12 19:29:24

标签: javascript jquery squarespace

我正在尝试打开幻灯片显示在单个幻灯片中的单个图像,我已经使用jQuery成功完成,但问题仍然存在于悬停在图像上的元数据中。单击元时,页面会在同一选项卡中重定向用户,而不是新选项卡。

我尝试过使用$('.slide .meta')获取元素元素,并使用event.preventDefault()中的click()阻止元素被点击。点击被识别但仍允许页面加载我认为很奇怪的网址。所以任何帮助将不胜感激!

以下是适用于图片的jQuery代码段:

<script>

  // Make sure the page is loaded
  // before running the script
  $(document).ready(function() {

    // Grab the gallary container's link
    $('.sqs-gallery-container a').click(function(event) {

      // Get the link element
      var href = $(this).attr('class');

      // Add the attribute '_blank' to open the
      // generic link to that new tab
      $(this).attr('target', '_blank');

        // Grab the link
        var link = $(this).attr('href');

        // Check if the link isn't equal to '#'
        if(link !== '#'){
          // Open the page
          window.open(link);
        }

      // Prevent the gallary from opening the link
      // and let us do our own thing!
      event.preventDefault();
   });

  }); // end ready

</script>

以下是从Chrome控制台复制的幻灯片库摘要:

https://gist.github.com/iwatakeshi/95fc070a668198566588

幻灯片的样本可以在这里找到:

https://help.squarespace.com/guides/using-the-slideshow-gallery-block

或实际的图库:

Squarespace Slideshow Gallery

1 个答案:

答案 0 :(得分:0)

您是否尝试将event.preventDefault()移至块顶部?所以你的代码将成为:

<script>
$(document).ready(function() {
    $('.sqs-gallery-container a').click(function(event) {
        event.preventDefault(); // preventDefault first
        var link = $(this).attr('href');

        if(link != '#'){
            window.open(link);
        }
    });
});
</script>

您还删除了一个未使用的变量href