打开基础显示模式时将焦点设置在光滑的幻灯片上

Set Focus on slick Slide when foundation reveal modal is opened

仅当焦点位于幻灯片上时,左右快捷键绑定才有效。当打开显示模式时,焦点不在幻灯片上,因此键绑定不起作用。我正在寻找一种方法来正确设置焦点或设​​置更多的全局键绑定,但请记住页面上可能有多个画廊。任何建议将不胜感激。

$('.galleryGroup').each(function(){
    if (typeof $(this).data('gallery') !== 'undefined'){ 
        var id = $(this).data('gallery');
        // Open reveal on click
        $('.galleriesImage'+id).click(function(){
            // Open Reveal Modal
            $('#galleriesReveal'+id).foundation('open');
            // Cancel Any previously created reveals    
            $(window).on('closed.zf.reveal',function(){ $('#slides'+id).slick('unslick'); });
            // Set the inital slide 
            if (typeof jQuery(this).data('ref') !== 'undefined'){ var iid=jQuery(this).data('ref'); }else{var iid=0;}
            // Initiate slideshow
            $('#slides'+id).slick({infinite: true,dots: false,lazyLoad: 'ondemand',autoplay: false,initialSlide: iid});
            // Set focus on the slideshow

            $('something').focus();

        }).css('cursor','pointer');
    }
});

只有当其中一个按钮(上一个/下一个)获得焦点或其中一张幻灯片时,才可以使用 slick。当你聚焦整个幻灯片时它不起作用

$(document).ready(function(){
  $(document).foundation();
  $('.galleryGroup').each(function(){
    if (typeof $(this).data('gallery') !== 'undefined'){ 
      var id = $(this).data('gallery');
      // Open reveal on click
      $('.galleriesImage'+id).click(function(){
        // Open Reveal Modal
        $('#galleriesReveal'+id).foundation('open');
        // Cancel Any previously created reveals    
        $(window).on('closed.zf.reveal',function(){ $('#slides'+id).slick('unslick'); });
        // Set the inital slide 
        if (typeof jQuery(this).data('ref') !== 'undefined'){ var iid=jQuery(this).data('ref'); }else{var iid=0;}
        // Initiate slideshow
        $('#slides'+id).slick({infinite: true,dots: false,lazyLoad: 'ondemand',autoplay: false,initialSlide: iid});
        // Set focus on the first slide
        //setTimeout(function() {
          $('#slides'+id+' .slick-slide').eq(0).focus()
        //}, 0);
      }).css('cursor','pointer');
    }
  });
});

一般来说,有很多部分可以使用 Foundation Sites API 和代码中更好的逻辑来简化。

https://codepen.io/DanielRuf/pen/RQmPbd