如何让 Slick Carousel 中的代码响应并正常工作?

How to get code in Slick Carousel to respond and work properly?

我正在使用这个预制的 Slick Carousel 代码。 (从这里 http://kenwheeler.github.io/slick/

我想做的是向每个 div 添加一个 'X',这样它最终可以被编程为从轮播中删除该元素。这将取代 "Remove Slide" 按钮,所以我注释掉了它的代码。

错误:点击 X 没有反应。在 fiddle 中,我试图让它在单击时甚至显示警报,但这不起作用。

有谁知道如何让 X 按钮在单击时做出反应?此外,如何正确编码 X 按钮?

http://jsfiddle.net/neowot/py3y5346/

HTML

<body>

    <section id="features" class="blue">
        <div class="content">       
            <hr id="demos"/>
            <h2>Add & Remove</h2>
            <div class="slider add-remove">
                <!--<div><h3>1</h3></div>-->
            </div>

            <div class="buttons">
                <a href="javascript:void(0)" class="button js-add-slide">Add Slide</a>
                <a href="javascript:void(0)" class="button js-remove-slide">Remove Slide</a>
            </div>
        </div>
    </section>

</body>

CSS

.sliderX{
    cursor: pointer;
    position: relative;
    font-size: 20px;
    top:-40px;
    right:-50px;
    height: 20px;
    padding: 0 0 0 0;
}

JS

$(document).ready(function(){
    var slideIndex = 0;
    $('.add-remove').slick({
        slidesToShow: 3,
        slidesToScroll: 3
    });


    $('.js-add-slide').on('click', function() {
        slideIndex++;
        $('.add-remove').slick('slickAdd','<div><h3><a class="sliderX">X</a>' + slideIndex +
                               '</h3></div>');
    });

    $('.sliderX').on('click', function() {
        alert('Clicked');
    });

    /*Original Code
    $('.js-remove-slide').on('click', function() {
        $('.add-remove').slick('slickRemove',slideIndex - 1);
        if (slideIndex !== 0){
            slideIndex--;
        }
    });
    */

});

元素 $('.sliderX') 必须在 DOM 中才能绑定点击处理程序。绑定是在最初读入 JS 时发生的,因此 X 还不存在。

您可以将绑定事件的代码移动到另一个将 X 放入 DOM 的点击处理程序中,或者将点击处理委托给 是 [=20] 的事件=] 已经在 DOM 即。 ```

$('body').on('click', '.sliderX', function() {
    alert('Clicked');
});

```

这可能是更好的计划,b/c它不会创建过多的处理程序,而且如果添加 X 的事件是异步的,您也不会冒 运行 回到原始问题的风险.