Jquery 焦点不适用于光滑的滑块



我有一个光滑的滑块,每个图像都有标题,我想获取当前聚焦(使用选项卡(标题以对其进行一些更改,但我可以看到焦点正在处理标题元素,但我无法捕获它

.HTML

<div class="customer-logos">
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image1.png">
  <a>Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image2.png">
  <a>Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image3.png">
  <a>Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image4.png">
  <a>Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image5.png">
  <a>Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image6.png">
  <a>Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image7.png">
  <a>Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image8.png"><a>Test</a></div>
</div>

.JS:

$(document).ready(function(){
            $('.customer-logos').slick({
                slidesToShow: 4,
                slidesToScroll: 1,
                autoplay: true,
                autoplaySpeed: 10000,
                arrows: false,
                dots: false,
                    pauseOnHover: false,
                    responsive: [{
                    breakpoint: 768,
                    settings: {
                        slidesToShow: 3
                    }
                }, {
                    breakpoint: 520,
                    settings: {
                        slidesToShow: 2
                    }
                }]
            });
        });
    $("a").on('focus',function(e) {
    console.log($(this))
                    $(this).addClass('focused');
    });
    $("a").on('blur',function(e) {
                $(this).removeClass('focused');     
    });         

小提琴示例

问题是因为你使用了jquery url。我用https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js并且工作得很好。

$(document).ready(function(){
    $('.customer-logos').slick({
		slidesToShow: 4,
		slidesToScroll: 1,
		autoplay: true,
		autoplaySpeed: 3000,
		arrows: false,
		dots: false,
			pauseOnHover: false,
			responsive: [{
			breakpoint: 768,
			settings: {
				slidesToShow: 3
			}
		}, {
			breakpoint: 520,
			settings: {
				slidesToShow: 2
			}
		}]
    });
});
$("a").on('focus',function(e) {
   alert("a focus");
   $(this).addClass('focused');
});
$("a").on('blur',function(e) {
		$(this).removeClass('focused');		
});   
 
/* Slider */
.slick-slide {
    margin: 0px 20px;
}
.slick-slide img {
    width: 100%;
}
.slick-slider
{
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list
{
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}
.slick-track
{
    position: relative;
    top: 0;
    left: 0;
    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;
    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}
.slick-slide
{
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
*.focused {
	outline-width: 2px ;
	outline-color: #282828;
	outline-style: dotted;
}
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.js"></script>
<div class="customer-logos">
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image1.png">
  <a>Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image2.png">
  <a >Test</a>
  </div>
  <div class="slide"><img src="https://www.solodev.com/assets/carousel/image3.png">
  <a >Test</a>
  </div>
</div>		

最新更新