Select2下拉菜单不会在点击时关闭

nka*_*son 5 javascript jquery ios jquery-select2 jquery-select2-4

我正在以多选形式使用Select2 (v4)并且难以获得我需要的下拉关闭功能。我已closeOnSelect设置为false,因此用户可以轻松添加多个值。我在测试站点上看到的是,在除 iOS 之外的所有浏览器上,当您在下拉区域外单击时,下拉菜单将关闭(这是所需的行为)。在 iOS 上,关闭它的唯一方法是在输入内部单击。

奇怪的是,在尝试通过 jsfiddle 复制时,我只能让 Select2 的第 4 版表现得像我在 iOS 上看到的那样 - http://jsfiddle.net/8g27t277/

我有另一个使用 Select2 v3.4.6 的 jsfiddle,它显示了我想要的所有浏览器的点击关闭功能 - http://jsfiddle.net/0tefq3yz/

测试 HTML:

<select id="options" size="9">
    <option value="357">One</option>
    <option value="358">Two</option>
    <option value="359">Three</option>
    <option value="360">Four</option>
    <option value="361">Five</option>
</select>
Run Code Online (Sandbox Code Playgroud)

测试js:

$('#options').select2({
    "placeholder": "Pick multiple options",
    "multiple": true,
    "closeOnSelect": false
});
Run Code Online (Sandbox Code Playgroud)

是什么导致下拉菜单关闭(或不关闭)以响应输入之外的点击事件?

小智 2

我也有同样的问题,过了一段时间我发现点击 html 页面不起作用。选择 2 下拉菜单关闭将在 body 标记内单独工作。如果您跨越了整个页面(整个页面被正文标记覆盖),则单击任意位置将关闭下拉列表。

这里更新了 JSFiddle

***HTML***
<body class='bodyClass'>
  <div class='mainClass'>
<select id="options" size="9">
  <option value="357">One</option>
  <option value="358">Two</option>
  <option value="359">Three</option>
  <option value="360">Four</option>
  <option value="361">Five</option>
</select>
Run Code Online (Sandbox Code Playgroud)

***CSS***
select {
width: 300px;
}
.bodyClass{
  width:100%;
  height:500px;
}

***JS***

$('#options').select2({
"placeholder": "Pick multiple options",
    "multiple": true
});
Run Code Online (Sandbox Code Playgroud)