禁用在selectize上键入

Tom*_*yDo 5 javascript jquery selectize.js

作为标题,在selectize上,如何禁用除Backspace键之外的其他输入。

它将被允许:

  • 在下拉菜单中选择项目。
  • 删除所选项目。

不允许这样做:

  • 输入或添加任何新项目。

我已经阅读了API文档,但是找不到解决方案。有什么建议么。

这是我的:

var $select = $('#tags').selectize({
        maxItems: 5,
        persist: false,
        createOnBlur: true,
        create: true,
    });
Run Code Online (Sandbox Code Playgroud)

更新:

我自己找到了解决方案

$select[0].selectize.$control_input.on('keydown', function(e) {
        var key = e.charCode || e.keyCode;
        if(key == 8 )
            return true;
        else
            e.preventDefault();
    });
Run Code Online (Sandbox Code Playgroud)

bas*_*her 5

虽然你这样做的方式有效,但防止项目添加的正确方法是使用create: false

var $select = $('#tags').selectize({
    maxItems: 5,
    persist: false,
    create: false
});
Run Code Online (Sandbox Code Playgroud)