Javascript 选择2搜索下拉列表顶部偏移不正确

Javascript 选择2搜索下拉列表顶部偏移不正确,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,有点奇怪,在select2multiple字段中,在随后的搜索中,下拉搜索消息显示不正确。见下文: 标记的蓝色区域是select2字段,标记的红色区域是显示下拉消息的区域。请注意,搜索完成后,结果将显示在正确的位置,但由于某些原因,消息显示的位置高于应有的位置 初始化上的参数: $budgetAdmins.select2({ placeholder: 'Type a person\’s name...', minimumInputLength: 3,

有点奇怪,在
select2
multiple字段中,在随后的搜索中,下拉搜索消息显示不正确。见下文:

标记的蓝色区域是
select2
字段,标记的红色区域是显示下拉消息的区域。请注意,搜索完成后,结果将显示在正确的位置,但由于某些原因,消息显示的位置高于应有的位置

初始化上的参数:

$budgetAdmins.select2({
        placeholder: 'Type a person\’s name...',
        minimumInputLength: 3,
        createSearchChoicePosition: 'bottom',
        dropdownParent: $budgetAdmins.closest('.budget-field'),
        type: 'POST',
        ajax: {
            url: theme.ajax_url,
            dataType: 'json',
            delay: 250
            data: ...
       }
});
有关实施的其他详情:

  • 只有当浏览器视口高度小到足以强制消息和后续列表位于顶部(通常在底部显示良好)时,才会发生此错误
  • 一旦列表显示出来,它就会正确地放在字段的顶部,只有需要输入3个或更多字符的消息和AJAX加载消息才会被推到最上面
  • 为了解决这个问题,我只加入了
    createSearchChoicePosition
    dropdownParent
    。它没有任何效果
  • 搜索框的第一个焦点显示消息fine,与字段顶部齐平。此问题仅发生在选择值后的第二个焦点上。然后它在下一个焦点上工作,然后在下一个焦点上再次中断。此外,当显示器损坏时,可以通过滚动页面进行修复
  • 使用
    选择2
    版本4.0.5
    • 一点黑客补丁:

      $budgetAdmins.on('select2:open', e => {
          var timer = setTimeout(() => {
              jQuery('html, body').trigger('scroll');
          }, 1);
      });
      
      我在没有设置超时的情况下尝试过,但没有效果。

      有点黑客修复:

      $budgetAdmins.on('select2:open', e => {
          var timer = setTimeout(() => {
              jQuery('html, body').trigger('scroll');
          }, 1);
      });
      
      我在没有设置超时的情况下尝试过,但没有效果