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

est*_*van 2 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);
});
Run Code Online (Sandbox Code Playgroud)

它回来了

未捕获的TypeError:undefined不是函数

在这两个事件上.

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

mku*_*yba 15

插件仅注册功能jQuery.fn.slick.

在版本1.4中通过光滑方法本身调用方法

需要像这样调用它:

// pseudocode
slider.slick("method", arguments, ...)
Run Code Online (Sandbox Code Playgroud)

要修复代码更改:

// wrong
slider.slickSetOption("draggable", false, false);
Run Code Online (Sandbox Code Playgroud)

至:

// correct
slider.slick("slickSetOption", "draggable", false, false);
Run Code Online (Sandbox Code Playgroud)

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