2

我正在 Owl Carousel 中构建一个简单的表单,但我无法让它在他们的版本 2 上运行。

问题是当用户在第二个版本的输入类型内单击时,控制台日志会给出错误:Uncaught TypeError: Cannot read property 'name' of undefined。

在第一个版本上一切正常。这是 v1 的小提琴我只是想知道是否有人可以看一下,我尝试使用mouseDrag:false但它没有成功。

这是版本 2 的链接,代码如下所示:

$(document).ready(function () {
    var owl = $('.owl-carousel');
    owl.owlCarousel({
        items:1,
        mouseDrag:false
    });
    // Go to the next item
    $('.customNextBtn').click(function () {
        owl.trigger('next.owl.carousel');
    })
});
4

1 回答 1

1

这篇文章已经有3年多了,但我遇到了同样的问题。我花了几个小时才找到解决方案,所以我想与任何可能感兴趣的人分享。

我不知道究竟是什么导致了错误,但我认为每当focusout触发事件时都会引发错误。不幸的是,防止focusout冒泡并没有解决我的问题。

在 GitHub 上浏览了项目的问题后,我看到了这篇文章,其中昵称“ghost”的用户提出了一个解决方案。可以通过禁用输入的事件来避免该onclick问题onchange

这段代码对我有用:

$("#controls").on('click change', function(event) {
    event.stopPropagation();
});

其中#controls 是<div>我所有表单控件的包装器

于 2019-02-25T02:40:06.247 回答