javascript - 单击另一个 select2 下拉列表时如何保持 select2 下拉事件打开

标签 javascript jquery html css jquery-select2

我有多个 select2 下拉菜单。每当 select2 下拉菜单打开时,我想将类添加到我的 div。

为此,我使用了 select2 的打开和关闭事件。当您打开 select2 下拉菜单并关闭它时,下面的代码工作正常。但如果您打开一个 select2 下拉菜单并单击另一个 select2 下拉菜单,它就不起作用。在这种情况下,它会检测到关闭事件。

$('select').on('select2:open', function (e) {
    $('.a').addClass("header-index");
});
$('select').on('select2:close', function (e) {
    $('.a').removeClass("header-index");
});

我如何确保当 select2 下拉菜单打开并且用户尝试打开另一个 select2 下拉菜单时不会触发关闭事件。

最佳答案

试试这个

$(".js-example-events").select2();

$('.js-example-events').on("select2:open", function () { alert(1); });
$('.js-example-events').on("select2:close", function () { alert(2); });

<select class="js-example-events">
<option>Select</option>
<option>Select1</option>
</select>

https://jsfiddle.net/lalji1051/4qucL9h3/7/

关于javascript - 单击另一个 select2 下拉列表时如何保持 select2 下拉事件打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57284231/

相关文章:

java - QML 和 Java 如何接口(interface)?

javascript - 如何获取页面上所有选中复选框的计数

javascript - 如何将 html 类添加到上面的元素

javascript - 从 jquery 移动 ListView 中删除项目?

html - IE 10 flexbox 和文本截断

javascript - .load() 完成的成功回调

javascript - Jasmine - 无法再通过 executeScript 滚动窗口

javascript - 在没有回调的ajax加载后启动jQuery脚本

html - 如何在 Bootstrap 3.3.7 中换行

html - 表 td 宽度问题 - 无法限制它