我们在一行中有一个 select2 下拉菜单(只是一个 div),我们需要能够单击整行来触发下拉菜单。我显示它没有问题,但试图隐藏它已成为一个问题,我想知道我的逻辑是否有缺陷。select2 AFAIK 在我们使用的版本上没有切换方法,所以我必须手动使用它的打开和关闭方法。这是我尝试过的。
$('[data-variable-type=select]').on('click', function(e){
e.stopPropagation();
var _dropdown = $(this).find('div.interface_dropdown');
if( _dropdown.hasClass('select2-dropdown-open') ) {
$(this).find('select.interface_dropdown').select2('close');
}
else {
$(this).find('select.interface_dropdown').select2('open');
}
});
这会导致它正确打开,但是当您单击以关闭它时,它会在 mousedown 时关闭,但在 mouseup 时会重新出现。
有什么办法可以让它正确切换吗?