Jquery 即使使用CTRL键,也限制select2选择

Jquery 即使使用CTRL键,也限制select2选择,jquery,jquery-select2,Jquery,Jquery Select2,select2为您提供了一个选项来限制用户所做的选择,即: $('.select2').select2({ maximumSelectionLength: 3 }); 只允许用户从select2下拉列表中选择3项 当用户使用Ctrl键选择多个选项时会出现此问题-select2不会限制用户以这种方式选择时所做的选择 是否有方法在进行CTRL选择时检查选择限制?如果失败,我可以禁用CTRL-select功能吗?(我在文档中找不到此选项。) 见下面我的复制品。尝试先分别单击3个以上的选项,然

select2为您提供了一个选项来限制用户所做的选择,即:

$('.select2').select2({
    maximumSelectionLength: 3
});
只允许用户从select2下拉列表中选择3项

当用户使用Ctrl键选择多个选项时会出现此问题-select2不会限制用户以这种方式选择时所做的选择

是否有方法在进行CTRL选择时检查选择限制?如果失败,我可以禁用CTRL-select功能吗?(我在文档中找不到此选项。)

见下面我的复制品。尝试先分别单击3个以上的选项,然后在不关闭下拉列表的情况下按住CTRL键单击这些选项

(函数($){
$('.select2')。选择2({
最大选择长度:3
});
})(jQuery)
正文{
字体系列:无衬线;
}
.选择2{
宽度:100%;
}

选择1
选择2
选择3
选择4
备选案文5
备选案文6
备选案文7
当通过启用选择2下拉列表时,您可以禁用Ctrl键

    document.onkeydown = function (e) {
        e = e || window.event;//Get event
        if (e.ctrlKey) {

          if($('body').find('.select2-container--open').length) //check if select2 dropdown is open
          {
            var c = e.which || e.keyCode;//Get key code
            switch (c) {
                case 83://Block Ctrl+S
                case 87://Block Ctrl+W --Not work in Chrome
                    e.preventDefault();     
                    e.stopPropagation();
                break;
            }
        }


     }
    };

您可以收听
select2:selection
事件,如果已经选择了3项,则可以阻止该事件

目前,我只是阻止用户选择第四个值,但如果需要,您可以选择显示警告消息

(函数($){
$('.select2')。选择2({
最大选择长度:3
});
$(“.select2”)。在(“select2:selection”上,函数(e){
log($(this.val(),e.params.args.data);
如果($(this.val()&&&$(this.val().length>=3){
e、 预防默认值();
}
});
})(jQuery)
正文{
字体系列:无衬线;
}
.选择2{
宽度:100%;
}

选择1
选择2
选择3
选择4
备选案文5
备选案文6
备选案文7

我最后用这个警告用户不要按控制键。谢谢