光滑滑块 - 更改输入焦点事件的可拖动状态

时间:2015-03-04 18:53:08

标签: javascript jquery slick.js

我在输入字段中尝试删除可拖动选项(因此我可以选择文本并使用箭头在字段内导航)。

var slider = $('.slider').slick({
    infinite: false,
    speed: 300,
    slidesToShow: 1,
    adaptiveHeight: true,
    asNavFor: '#menu-mobile',
    draggable: true
});

$('input').focusin(function () {
    console.log('in');
    slider.slickSetOption("draggable", false, false);
}).focusout(function () {
    console.log('out');
    slider.slickSetOption("draggable", true, false);
});

返回

  

未捕获的TypeError:undefined不是函数

两个事件。

如何使用事件更改可拖动/滑动状态?

1 个答案:

答案 0 :(得分:14)

插件仅注册函数jQuery.fn.slick

  

通过版本1.4中的光滑方法本身在光滑实例上调用方法

需要像这样称呼它:

// pseudocode
slider.slick("method", arguments, ...)

修复代码更改:

// wrong
slider.slickSetOption("draggable", false, false);

为:

// correct
slider.slick("slickSetOption", "draggable", false, false);

工作演示: https://jsfiddle.net/mattydsw/Lsj62qsx/25/