javascript - 小 slider 点击监听器注册太晚

标签 javascript slider

我正在寻找 slick.js 的普通 js 替代品。我正在尝试将其替换为 tiny-slider 。不过,我只有一个问题,因为我使用的是 Kentico 和 asp.net,所以所有内容都包含在表单标记中。

使用 slick,如果我检查点按钮的事件监听器,它会在表单监听器之前注册(并且 slick 使用 event.preventdefault 处理其余部分)。

使用tiny-nav,无论我将脚本标签放在哪里,也无论我从哪里加载库(head、body、inline),tiny-slider 都是事件监听器队列中的最后一个。这意味着单击点(即按钮)即可提交页面。

enter image description here

我在这里缺少什么吗?

编辑:这是代码:

document.addEventListener("DOMContentLoaded", function () { //also same result with $(function(){
    tns({
        container: '.my-slider',
        autoplay: true,
        items: 1,
        autoplayButtonOutput: false,
        lazyload: true,
        controlsContainer: '.slider-controls',
        controlsPosition: 'bottom',
        navPosition: 'bottom'
        //navContainer: 'dots-container'
    });
});

最佳答案

如果我没理解错的话,问题是Tiny-Slider的控制按钮触发<form>而不是控制 slider ?
在这种情况下,您必须添加 type="button"给每个<button>在此脚本中,因为默认情况下(如果未指定)每个 <button>配有 type="submit"因此,它会触发 <form> 。添加上述参数时,请确保type="submit"紧接在 <button> 之后标签,例如:<button type="button" data-controls="prev" tabindex="-1">

我刚刚开始使用 Tiny-Slider 并偶然发现了这个确切的问题,所以我想我可以分享解决方案。

关于javascript - 小 slider 点击监听器注册太晚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55476398/

相关文章:

javascript - 编写此弹出功能的更好方法?

javascript - 在特定的 html 标签中使用 JavaScript 显示日期

javascript - 谷歌表格onedit特定单元格

javascript - 为什么 slider 插件在准备生成之前显示?

javascript - React Native Samsung Universal Link 升级到 Android 12 后停止工作

javascript - 如何使用 Polymer 1.0 中的行为来模仿 Polymer 0.5 中的扩展

javascript - 为什么在使用箭头键时更改功能对我的范围 slider 不起作用?

JavaFX slider : How to drag the thumb only by increments

jquery - $ ('#slider' ).nivoSlider();不是一个函数

JQuery:如何重绘 slider ?