jquery 当我单击弹出按钮(在下拉菜单内)时,引导程序选择下拉菜单正在关闭

nbysray5  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(171)

对不起,我不太懂英语。
我有一个启用了内容吸收的selectpicker,并且需要为每个下拉菜单项启用内容吸收,这是一个弹出窗口。问题是,当点击切换按钮时,弹出窗口会隐藏与该项关联的下拉菜单-selectpicker本身的下拉列表。
This是我正在使用的Codepen中的一个示例代码。为了简单起见,在这个示例中我使用setTimeout。请帮助理解。
第一个

vsmadaxz

vsmadaxz1#

请尝试以下代码

/* push data from request */
function pushDataToDropdown() {
  let select = $('#sortByTag');

  let parentMarkupObj = {
    'markup': `<option>1212123</option>`
  };

  select.append(parentMarkupObj.markup);
}

/* add popover to select items */
function addOptionsDropdownToTags() {
  let allTagInFilter = $('.dropdown-menu.inner li');

  /* непосредственно вставка дропдауна для каждого пункта селекта */
  allTagInFilter.append('<button type="button" class="custom-popover" data-toggle="popover" title="Popover title" data-content="Popover">Popover btn</button>');
}

window.addEventListener('DOMContentLoaded', (event) => {
  pushDataToDropdown();
  setTimeout(function() {
    $('select').selectpicker('refresh');
  }, 500)
  setTimeout(function() {
    $(document).on('click', '.bootstrap-select', function (e) {
      e.stopPropagation();
    });
  }, 650)
  setTimeout(addOptionsDropdownToTags, 800);
});

将此代码$(document).on('click', 'someyourContainer .dropdown-menu', function (e) {更改为$(document).on('click', '.bootstrap-select', function (e) {

相关问题