Я был с пьесу о с этим и есть несколько других проблем, касающихся запуска вручную показать/скрыть, чтобы получить это, чтобы играть хорошо. Наведение на самом деле mousein
и mouseout
, и если вы не добавите дополнительные проверки, вы столкнетесь с проблемами, которые я только что сделал!
и я попытаюсь объяснить, что я сделал.
$(function() {
var overPopup = false;
$('[rel=popover]').popover({
trigger: 'manual',
placement: 'bottom'
// replacing hover with mouseover and mouseout
}).mouseover(function (e) {
// when hovering over an element which has a popover, hide
// them all except the current one being hovered upon
$('[rel=popover]').not('#' + $(this).attr('id')).popover('hide');
var $popover = $(this);
$popover.popover('show');
// set a flag when you move from button to popover
// dirty but only way I could think of to prevent
// closing the popover when you are navigate across
// the white space between the two
$popover.data('popover').tip().mouseenter(function() {
overPopup = true;
}).mouseleave(function() {
overPopup = false;
$popover.popover('hide');
});
}).mouseout(function (e) {
// on mouse out of button, close the related popover
// in 200 milliseconds if you're not hovering over the popover
var $popover = $(this);
setTimeout(function() {
if (!overPopup) {
$popover.popover('hide');
}
}, 200);
});
});
Это работало отлично для меня следующий HTML:
<a href="#" id="example1" class="btn large primary" rel="popover" data-content="Example 1!!!" data-original-title="Example 1 title">Button 1</a>
<a href="#" id="example2" class="btn large primary" rel="popover" data-content="Example 2!!!" data-original-title="Example 2 title">Button 2</a>
<a href="#" id="example3" class="btn large primary" rel="popover" data-content="Example 3!!!" data-original-title="Example 3 title">Button 3</a>
Надежда, что сортирует вас :)
Спасибо, это отлично работает. Можно ли настроить это так, чтобы popover ушел, когда вы нажимаете мышь в другом месте документа? Прямо сейчас в вашей версии, popover уходит, если вы наведите указатель мыши на другой элемент, но если вы уйдете куда-нибудь еще на странице, popover останется открытым. – farjam
Немного смущает ... Значит, вы хотите, чтобы он был липким, пока вы не наведете и не выйдете из всплывающего окна? –
Я хочу, чтобы он был липким все время, когда вы взаимодействуете внутри popover. Однако, если пользователь переходит к нижнему колонтитулу, например (не к другому элементу, включенному в popover), popover все еще остается открытым/активным. Это также происходит в вашей собственной демонстрационной версии, попробуйте mousing над последним элементом и продолжайте движение мыши вправо. Вы можете видеть, что поппер никогда не исчезает. – farjam