Как закрыть Bootstrap Popovers (или какой -либо элемент в целом), когда пользователь щелкает от него?

StackOverflow https://stackoverflow.com/questions/9302654

  •  25-10-2019
  •  | 
  •  

Вопрос

Я использую объект Popover из библиотеки начальной загрузки Twitter в ручном режиме, и мне было интересно, как мне следует закрыть подсказку, когда пользователь отдает от него.

Вот мой HTML:

<a id="stats-bar" rel="popover" data-placement="top" data-trigger="manual" data-title="Title here" data-content="Hello everyone.">Test</a>

И мой JavaScript:

$('#stats-bar').click(function(e) {
        $(this).popover('show');
});

Как я могу скрыть Попвер, когда пользователь нажимает в любом месте, кроме самого Попора? Я подумал об использовании фиксированного прозрачного Div за Popover и установить его событие Click, но я не уверен, что это лучший способ.

Это было полезно?

Решение 2

Я решил использовать фиксированный прозрачный Div за Popover и установить его событие Click, так как это кажется самым надежным и простым решением.

Другие советы

Я закончил тем, что подключился к событию документа и скрываю любые моменты инструментов на этой точке

      $(document).click(function (e)
      {
          // check the parents to see if we are inside of a tool tip.  If the click came
          // from outside the tooltip, then hide our tooltip
          if ($(e.target).parents('.tooltip').length == 0) $('[data-original-title]').tooltip('hide');
      });

Если вы используете вариант ручного триггера и подключите к событию Click, чтобы отобразить подсказку инструментов, вам нужно будет позвонить в E.StoPPropagation (), чтобы предотвратить сжигание документа при выявлении при подсказке.

А как насчет общего прослушивателя событий, который запускает, куда бы вы ни щелкнули в теле? Проверьте этот пост, он выглядит похоже на то, что вы пытаетесь достичь.

https://stackoverflow.com/a/2125122/1013422

Вы бы использовали это, чтобы закрыть фактический поп -

$('#stats-bar').popover('hide')

Я бы определил функцию только после того, как всплывающее событие запускается, а затем удалил ее после того, как вы закрыли всплывающее окно, таким образом вы не будете постоянно прислушиваться к событиям клика.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top