Як вставити кнопку закриття в поповер для завантажувального ремінця


76

JS:

$(function(){
  $("#example").popover({
    placement: 'bottom',
    html: 'true',
    title : '<span class="text-info"><strong>title</strong></span> <button type="button" id="close" class="close">&times;</button>',
    content : 'test'
  })
  $('html').click(function() {
    $('#close').popover('hide');
  });
});

HTML:

<button type="button" id="example" class="btn btn-primary" ></button>

я пишу, що ваш код не відображається у вашому спливаючому вікні.

хтось стикався з цією проблемою?

Відповіді:


88

Потрібно правильно зробити розмітку

<button type="button" id="example" class="btn btn-primary">example</button>

Потім один із способів - приєднати маніпулятор безпосередньо до самого елемента, працює наступне:

$(document).ready(function() {
    $("#example").popover({
        placement: 'bottom',
        html: 'true',
        title : '<span class="text-info"><strong>title</strong></span>'+
                '<button type="button" id="close" class="close" onclick="$(&quot;#example&quot;).popover(&quot;hide&quot;);">&times;</button>',
        content : 'test'
    });
});  

1
@Sebf, bootstrap має бути якомога легшим, багато питань призначено для вирішення на рівні реалізації. Так, деякі "відсутні" частини
збивають з

11
@jonschlinkert data-dismiss="popover"Inplace з onclickне працює. Це добре задокументована проблема.
Hengjie

1
Використання вбудованих подій HTML та JavaScript у заголовку вікна є досить поганою практикою. Це може спрацювати, але згодом це призведе до головного болю.
Mario Fink

1
@ Маріо Фінк (і Роберт Котчер) - повністю згодні з курсом. Але саме так ви могли реалізувати бажану функціональність у twitter bootstrap 2.x, тепер передбачуваний спосіб не вдається. Я просто відповідаю на питання.
davidkonrad

2
Для мене наведений вище приклад спрацював лише замінивши подвійні лапки (& quot;) на одинарні лапки (& # 39;)
Ruut

32

Мені потрібно було знайти щось, що могло б працювати для декількох поповерів та в Bootstrap 3.

Ось що я зробив:

У мене було кілька елементів, для яких я хотів, щоб працювала поповер, тому я не хотів використовувати ідентифікатори.

Розмітка може бути:

<button class="btn btn-link foo" type="button">Show Popover 1</button>
<button class="btn btn-link foo" type="button">Show Popover 2</button>
<button class="btn btn-link foo" type="button">Show Popover 3</button>

Вміст кнопок збереження та закриття всередині покажчика:

var contentHtml = [
    '<div>',
        '<button class="btn btn-link cancel">Cancel</button>',
        '<button class="btn btn-primary save">Save</button>',
    '</div>'].join('\n');

та javascript для всіх 3 кнопок:

Цей метод працює, коли контейнер за замовчуванням не прикріплений до тіла.

$('.foo').popover({
    title: 'Bar',
    html: true,
    content: contentHtml,
    trigger: 'manual'
}).on('shown.bs.popover', function () {
    var $popup = $(this);
    $(this).next('.popover').find('button.cancel').click(function (e) {
        $popup.popover('hide');
    });
    $(this).next('.popover').find('button.save').click(function (e) {
        $popup.popover('hide');
    });
});

Коли контейнер прикріплений до "тіла"

Потім використовуйте aria-describy, щоб знайти спливаюче вікно та приховати його.

$('.foo').popover({
    title: 'Bar',
    html: true,
    content: contentHtml,
    container: 'body',
    trigger: 'manual'
}).on('shown.bs.popover', function (eventShown) {
    var $popup = $('#' + $(eventShown.target).attr('aria-describedby'));
    $popup.find('button.cancel').click(function (e) {
        $popup.popover('hide');
    });
    $popup.find('button.save').click(function (e) {
        $popup.popover('hide');
    });
});

Невелике покращення:popup.find('button.cancel').on('click',function(e) {...}
барт

7
коли я натискаю на посилання "скасувати", воно закриває вікно. Але я повинен двічі клацнути на посилання тригер-поповер, оскільки воно не відкриває поповер при першому клацанні.
Nizam Kazi

Існує заздалегідь визначений клас .closeз ефектом наведення, тому вставити кнопку закриття в заголовок чи вміст так само просто <span class=close>&times;</span>.
lubosdz

@NizamKazi Використовуйте моє рішення нижче , щоб вирішити , що: stackoverflow.com/a/58923567/5376813
TetraDev

27

Я виявив, що інші відповіді були або недостатньо загальними, або занадто складними. Ось простий, який завжди повинен працювати (для bootstrap 3):

$('[data-toggle="popover"]').each(function () {
    var button = $(this);
    button.popover().on('shown.bs.popover', function() {
        button.data('bs.popover').tip().find('[data-dismiss="popover"]').on('click', function () {
            button.popover('toggle');
        });
    });
});

Потім просто додайте атрибут data-dismiss="popover"у свою кнопку закриття. Також переконайтеся, що не використовуєте popover('hide')деінде в коді, оскільки він приховує спливаюче вікно, але неправильно встановлює його внутрішній стан у коді завантажувального коду, що спричинить проблеми наступного разу, коли ви будете використовувати popover('toggle').


2
З якоїсь причини використання Bootstrap 3 .popover('toggle');ніколи не робить для мене нічого, де як .popover('hide');працює. Крім цього, це рішення є моїм улюбленим. Дякую!
hvaughan3

Хіба це не прив'язує подію кліка до кожної події popover-show-, що призводить до кількох прив'язок?
pdu

@pduersteler це старий код, але він використовується у виробництві, тому я впевнений, що він працює. Я припускаю, що bootstrap створює новий поповер, а отже, і нову кнопку закриття при кожному натисканні на кнопку. Якби на кнопці закриття було кілька подій, вона б перемикалася кілька разів, і я б помітив помилку (сподіваюся). Повідомте мене, якщо ви можете підтвердити проблему. Задумавшись, можливо, тому у мене виникла проблема, popover('hide')яка не знищила б полов, а просто приховала?
Youen

це повинно бути $(button.data('bs.popover').tip).find('[data-dismiss="popover"]')в сучасному бутстрапі (> = 4?)
Майк Кемпбелл

18

Попередні приклади мають два основні недоліки:

  1. Кнопці "закрити" потрібно певним чином знати ідентифікатор посиланого елемента.
  2. Необхідність додавання для події 'shown.bs.popover' слухача 'клацання' до кнопки закриття; що також не є гарним рішенням, оскільки ви б потім додавали такого слухача кожного разу, коли відображається "popover".

Нижче наведено рішення, яке не має таких недоліків.

За замовчуванням елемент "popover" вставляється відразу після елемента, на який посилається, у DOM (тоді зверніть увагу, що елемент посилання та popover є безпосередніми елементами брата). Таким чином, коли натискається кнопка "закрити", ви можете просто шукати її найближчий батьківський елемент "div.popover", а потім шукати безпосередньо попередній елемент такого брата.

Просто додайте наступний код у обробник 'onclick' кнопки 'закрити:

$(this).closest('div.popover').popover('hide');

Приклад:

var genericCloseBtnHtml = '<button onclick="$(this).closest(\'div.popover\').popover(\'hide\');" type="button" class="close" aria-hidden="true">&times;</button>';

$loginForm.popover({
    placement: 'auto left',
    trigger: 'manual',
    html: true,
    title: 'Alert' + genericCloseBtnHtml,
    content: 'invalid email and/or password'
});

Ого, приємне і просте рішення. Працює для мене.
Адріан Енрікес,

1
За допомогою Bootstrap 4.3 мені довелося додати sanitize: falseдо опцій "
Річард,

15

введіть тут опис зображення

Нижче наведено те, що я щойно використав у своєму проекті. І сподіваюся, це може вам допомогти

<a id="manualinputlabel" href="#" data-toggle="popover" title="weclome to use the sql quer" data-html=true  data-original-title="weclome to use the sql query" data-content="content">example</a>


$('#manualinputlabel').click(function(e) {
              $('.popover-title').append('<button id="popovercloseid" type="button" class="close">&times;</button>');
              $(this).popover();

          });

      $(document).click(function(e) {
         if(e.target.id=="popovercloseid" )
         {
              $('#manualinputlabel').popover('hide');                
         }

      });

Гей, спасибі за ваш відгук! Чи знаєте ви, як вертикально відцентрувати &times;символ в h3.popover-titleоб'єкті?
Ренато Гама

Працював добре, але у мене була та ж проблема з вертикальним вирівнюванням. Я додав свій власний клас до кнопки закриття за допомогою line-height: 0.7 !important;і виглядав добре
dading84

коли я натискаю на посилання "скасувати", воно закриває вікно. Але я повинен двічі клацнути на посилання тригер-
поповер,

9

Я перевірив багато згаданих прикладів коду, і для мене підхід Кріса працює бездоганно. Я додав свій код сюди, щоб мати його робочу демонстрацію.

Я протестував його за допомогою Bootstrap 3.3.1 і не тестував зі старою версією. Але це точно не працює з 2.x, оскільки shown.bs.popoverподія була представлена ​​з 3.x.

$(function() {
  
  var createPopover = function (item, title) {
                       
        var $pop = $(item);
        
        $pop.popover({
            placement: 'right',
            title: ( title || '&nbsp;' ) + ' <a class="close" href="#">&times;</a>',
            trigger: 'click',
            html: true,
            content: function () {
                return $('#popup-content').html();
            }
        }).on('shown.bs.popover', function(e) {
            //console.log('shown triggered');
            // 'aria-describedby' is the id of the current popover
            var current_popover = '#' + $(e.target).attr('aria-describedby');
            var $cur_pop = $(current_popover);
          
            $cur_pop.find('.close').click(function(){
                //console.log('close triggered');
                $pop.popover('hide');
            });
          
            $cur_pop.find('.OK').click(function(){
                //console.log('OK triggered');
                $pop.popover('hide');
            });
        });

        return $pop;
    };

  // create popover
  createPopover('#showPopover', 'Demo popover!');

  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>

<button class="btn btn-primary edit" data-html="true" data-toggle="popover" id="showPopover">Show</button>

<div id="popup-content" class="hide">
    <p>Simple popover with a close button.</p>
    <button class="btn btn-primary OK">OK</button>
</div>


1
Гадаю, це повинно бути$cur_pop.popover('hide');
Бернхард Дьоблер

5

Фокус у тому, щоб отримати поточний Поповер за допомогою .data ('bs.popover'). Tip () :

$('#my_trigger').popover().on('shown.bs.popover', function() {
    // Define elements
    var current_trigger=$(this);
    var current_popover=current_trigger.data('bs.popover').tip();

    // Activate close button
    current_popover.find('button.close').click(function() {
        current_trigger.popover('hide');
    });
});

4

Просто хотів оновити відповідь. Відповідно до Свашата Гоша, наступний є більш простим способом, який працював для moi:

HTML:

<button type="button" class="btn btn-primary example">Example</button>

JS:

$('.example').popover({
   title: function() {
      return 'Popup title' +
             '<button class="close">&times</button>';
   },
   content: 'Popup content',
   trigger: 'hover',
   html: true
});

$('.popover button.close').click(function() {
   $(this).popover('toggle');
});

4

Це працює з кількома поповерами, і я також додав трохи додаткового JS для вирішення проблем z-індексу, які трапляються з перекриваються поповерами:

http://jsfiddle.net/erik1337/fvE22/

JavaScript:

var $elements = $('.my-popover');
$elements.each(function () {
    var $element = $(this);

    $element.popover({
        html: true,
        placement: 'top',
        container: $('body'), // This is just so the btn-group doesn't get messed up... also makes sorting the z-index issue easier
        content: $('#content').html()
    });

    $element.on('shown.bs.popover', function (e) {
        var popover = $element.data('bs.popover');
        if (typeof popover !== "undefined") {
            var $tip = popover.tip();
            zindex = $tip.css('z-index');

            $tip.find('.close').bind('click', function () {
                popover.hide();
            });

            $tip.mouseover(function (e) {
                $tip.css('z-index', function () {
                    return zindex + 1;
                });
            })
                .mouseout(function () {
                $tip.css('z-index', function () {
                    return zindex;
                });
            });
        }
    });
});

HTML:

<div class="container-fluid">
    <div class="well popover-demo col-md-12">
        <div class="page-header">
             <h3 class="page-title">Bootstrap 3.1.1 Popovers with a close button</h3>

        </div>
        <div class="btn-group">
            <button type="button" data-title="Popover One" class="btn btn-primary my-popover">Click me!</button>
            <button type="button" data-title="Popover Two" class="btn btn-primary my-popover">Click me!</button>
            <button type="button" data-title="Popover Three (and the last one gets a really long title!)" class="btn btn-primary my-popover">Click me!</button>
        </div>
    </div>
</div>
<div id="content" class="hidden">
    <button type="button" class="close">&times;</button>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>

CSS:

/* Make the well behave for the demo */
 .popover-demo {
    margin-top: 5em
}
/* Popover styles */
 .popover .close {
    position:absolute;
    top: 8px;
    right: 10px;
}
.popover-title {
    padding-right: 30px;
}

4

Я борюся з цим, і це найпростіший спосіб зробити це, 3 рядки js:

  1. Додайте хрестик у назву заголовка
  2. використовуйте фрагмент js, щоб показати вікно та закрити, натиснувши заголовок
  3. Використовуйте трохи css, щоб зробити це приємно

введіть тут опис зображення

$(document).ready(function() {
  // This is to overwrite the boostrap default and show it allways
  $('#myPopUp').popover('show');
  // This is to destroy the popover when you click the title
  $('.popover-title').click(function(){
    $('#myPopUp').popover('destroy');
  });
});
@import "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css";

/* Just to align my example */
.btn {
  margin: 90px auto;
  margin-left: 90px;
}

/* Styles for header */
.popover-title {
  border: 0;
  background: transparent;
  cursor: pointer;
  display: inline-block;
  float: right;
  text-align: right; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
<button id="myPopUp" class="btn btn-success" data-toggle="popover" data-placement="top" data-title="×" data-content="lorem ipsum content">My div or button or something with popover</button>  
 


чому кнопка перехрестя не отримує навігації за допомогою вкладки?
Чандреш Мішра,

3

Спробуйте це:

$(function(){
  $("#example")
      .popover({
      title : 'tile',
      content : 'test'
    })
    .on('shown', function(e){
      var popover =  $(this).data('popover'),
        $tip = popover.tip();

      var close = $('<button type="button" class="close" aria-label="Close"><span aria-hidden="true">&times;</span></button>')
        .click(function(){
          popover.hide();
        });
      $('.popover-title', $tip).append(close);
    });
});

Замість того, щоб додавати кнопку як рядок розмітки, набагато простіше, якщо у вас є кнопка, обгорнута jQuery, оскільки тоді ви можете прив’язати набагато акуратніше. Насправді цього, на жаль, немає в коді Bootstrap, але цей обхідний спосіб працює для мене, і насправді його можна розширити, щоб застосувати до всіх попов, якщо потрібно.


Мені підходило найкраще, просто потрібно оновити імена BS: 'показано' -> 'показано.bs.popover' дані ('popover') -> дані ('bs.popover')
Ашот

2

Ось "обман" рішення:

Дотримуйтесь звичайних вказівок для спливаючого вікна, яке можна відхилити.

Потім ляпніть «X» у поле з CSS.

CSS:

.popover-header::after {
    content: "X";
    position: absolute;
    top: 1ex;
    right: 1ex;
}

JQUERY:

$('.popover-dismiss').popover({
    trigger: 'focus'
});

HTML:

<a data-toggle="popover" data-trigger="focus" tabindex="0"  title="Native Hawaiian or Other Pacific Islander" data-content="A person having origins in any of the original peoples of Hawaii, Guam, Samoa, or other Pacific Islands.">?</a>

Технічно кажучи, це робить неможливим, якщо хтось натискає щось інше, ніж "Х", але це, принаймні, не є проблемою в моєму сценарії.


1
$popover = $el.popover({
  html: true
  placement: 'left'
  content: 'Do you want to a <b>review</b>? <a href="#" onclick="">Yes</a> <a href="#">No</a>'
  trigger: 'manual'
  container: $container // to contain the popup code
});

$popover.on('shown', function() {
  $container.find('.popover-content a').click( function() {
    $popover.popover('destroy')
  });
});

$popover.popover('show')'

1
$(function(){ 
  $("#example").popover({
    placement: 'bottom',
    html: 'true',
    title : '<span class="text-info"><strong>title!!</strong></span> <button type="button" id="close" class="close">&times;</button></span>',
    content : 'test'
  })

  $(document).on('click', '#close', function (evente) {
    $("#example").popover('hide');
  });
  $("#close").click(function(event) {
    $("#example").popover('hide');
  });
});

<button type="button" id="example" class="btn btn-primary" >click</button>

1
    $('.tree span').each(function () {
        var $popOverThis = $(this);
        $popOverThis.popover({
            trigger: 'click',
            container: 'body',
            placement: 'right',
            title: $popOverThis.html() + '<button type="button" id="close" class="close" ">&times;</button>',
            html: true,
            content: $popOverThis.parent().children("div.chmurka").eq(0).html()
        }).on('shown.bs.popover', function (e) {
            var $element = $(this);
            $("#close").click(function () {
                $element.trigger("click");
            });
        });
    });

Коли ви натискаєте елемент і показуєте своє спливаюче вікно, далі ви можете викликати подію show.bs.popover, де в цьому пункті ви отримаєте елемент, в якому натисніть тригер, щоб закрити ваш popover.


1

FWIW, ось загальне рішення, яке я використовую. Я використовую Bootstrap 3, але я думаю, що загальний підхід також повинен працювати з Bootstrap 2.

Рішення дозволяє поповер і додає кнопку "закрити" для всіх поповерів, ідентифікованих тегом 'rel = "popover"', використовуючи загальний блок коду JS. Окрім (стандартної) вимоги, щоб існував тег rel = "popover", ви можете розмістити на сторінці довільну кількість поповерів, і вам не потрібно знати їх ідентифікатори - насправді їм не потрібні ідентифікатори зовсім. Вам потрібно використовувати формат HTML-тегу 'data-title', щоб встановити атрибут title вашого поповера, а для data-html встановити значення "true".

Фокус, який я визнав необхідним, - це побудувати індексовану карту посилань на об'єкти popover ("po_map"). Потім я можу додати обробник 'onclick' через HTML, який посилається на об'єкт popover за допомогою індексу, який JQuery надає мені для цього ("p_list ['+ index +']. Popover (\ 'toggle \')"). Таким чином, мені не потрібно турбуватися про ідентифікатори об'єктів, що поповертаються, оскільки у мене є карта посилань на самі об'єкти з унікальним індексом, наданим JQuery.

Ось javascript:

var po_map = new Object();
function enablePopovers() {
  $("[rel='popover']").each(function(index) {
    var po=$(this);
    po_map[index]=po;
    po.attr("data-title",po.attr("data-title")+
    '<button id="popovercloseid" title="close" type="button" class="close" onclick="po_map['+index+'].popover(\'toggle\')">&times;</button>');
    po.popover({});
  });
}
$(document).ready(function() { enablePopovers() });

це рішення дозволить мені легко поставити кнопку закриття на всі вікна на моєму сайті.


1

Я знайшов код нижче дуже корисним (взятий з https://www.emanueletessore.com/twitter-bootstrap-popover-add-close-button/ ):

$('[data-toggle="popover"]').popover({
  title: function(){
    return $(this).data('title')+'<span class="close" style="margin-top: -5px">&times;</span>';
  }
}).on('shown.bs.popover', function(e){
  var popover = $(this);
  $(this).parent().find('div.popover .close').on('click', function(e){
    popover.popover('hide');
  });
});

0

Важко при наведенні, HTML:

<a href="javascript:;" data-toggle="popover" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." title="Lorem Ipsum">...</a>

Javascript:

$('[data-toggle=popover]').hover(function(e) {
  if( !$(".popover").is(':visible') ) {
      var el = this;
      $(el).popover('show');
      $(".popover > h3").append('<span class="close icon icon-remove"></span>')
                        .find('.close').on('click', function(e) {
                            e.preventDefault();
                            $(el).popover('hide');
                        }
      );
  }
});

0

Помістіть це у свій конструктор popover заголовка ...

'<button class="btn btn-danger btn-xs pull-right"
onclick="$(this).parent().parent().parent().hide()"><span class="glyphicon
glyphicon-remove"></span></button>some text'

... щоб отримати маленьку червону кнопку «х» у верхньому правому куті

//$('[data-toggle=popover]').popover({title:that string here})

0

Для тих, хто все ще трохи розгублений:

Ось як це працює для перемикання покажчика після того, як ви отримали його для показу, виберіть ту саму кнопку, яку ви використовували для його запуску, і викликайте .popover ('toggle') на ньому.

У цьому випадку для закриття вікна коду буде:

$ ('# приклад'). popover ('перемикання');


0

Як дуже просте рішення цього я зробив наступне:

1) Додайте наступний CSS:

.sub_step_info .popover::after {
    content:url('/images/cross.png');
    position:absolute;
    display:inline-block;
    top:15px;
    right:5px;
    width:15px;
    text-align:center;
    cursor:pointer;
}

2) Встановити data-trigger="manual" на елементі спускового механізму поповер

3) Потім на основі https://github.com/twbs/bootstrap/issues/16802 :

$('[data-trigger="manual"]').click(function() {
    $(this).popover('toggle');
}).blur(function() {
    $(this).popover('hide');
}); 

Це використовує основу того, що в будь-якому місці вказівника можна натиснути, але, зосередившись на хресті, ви заохотите поведінку, яку ви домагаєтесь.


0

Для мене це найпростіший спосіб додати кнопку закриття в поповер.

HTML:

    <button type="button" id="popover" class="btn btn-primary" data-toggle="popover" title="POpover" data-html="true">
                    Show popover
    </button>

    <div id="popover-content" style="display:none"> 
       <!--Your content-->
       <button type="submit" class="btn btn-outline-primary" id="create_btn">Create</button>
       <button type="button" class="btn btn-outline-primary" id="close_popover">Cancel</button>  
    </div>

Javascript:

    document.addEventListener("click",function(e){
        // Close the popover 
        if (e.target.id == "close_popover"){
                $("[data-toggle=popover]").popover('hide');
            }
    });

0

Я стикався з проблемою підказки, виконуючи якісь забавні речі, коли натискали кнопку закриття. Щоб обійти це, я використав spanзамість кнопки, а не. Крім того, коли натискали кнопку закриття, мені довелося двічі клацнути підказку після її закриття, щоб знову відкрити її. Щоб обійти це, я просто використав .click()метод, як показано нижче.

<span tabindex='0' class='tooltip-close close'>×</span>

$('#myTooltip').tooltip({
    html: true,
    title: "Hello From Tooltip",
    trigger: 'click'
});    

$("body").on("click", ".tooltip-close", function (e) {
    else {
        $('.tooltip').remove();
        $('#postal-premium-tooltip').click();
    }
});

0

Це робоче рішення, засноване на відповіді @Chris вище, але виправлене так, що після подальших клацань елемента тригера вам не потрібно клацати по елементу двічі.

Використання .popover('hide)вручну псує внутрішній стан завантажувальних ремінців, як зазначено в коментарях.

var closePopover = function(eventShown) {
   // Set the reference to the calling element
   var $caller = $('#' + this.id);

   // Set the reference to the popover
   var $popover = $('#' + $(eventShown.target).attr('aria-describedby'));

       // Unbind any pre-existing event handlers to prevent duplicate clicks
       $popover.find('.popover-close').off('click');

       // Bind event handler to close button
       $popover.find('.popover-close').on('click', function(e) {

          // Trigger a click on the calling element, to maintain bootstrap's internal state
          $caller.trigger('click');
        });
 }

$('.popoverTriggerElement').popover({
   trigger: 'click'
})
.on('shown.bs.popover', closePopover)

Тепер ви можете використовувати кнопку закриття, не дублюючи події клацання, а також контролюючи внутрішній стан завантажувальних систем, щоб вона працювала належним чином.


-2
<script type="text/javascript"  src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript" src="jquery.popover-1.1.2.js"></script>

<script type="text/javascript">
$(function(){ 
$("#example").popover({
        placement: 'bottom',
        html: 'true',
        title : '<span class="text-info"><strong>title</strong></span> <button     type="button" id="close" class="close">&times;</button></span>',
        content : 'test'
    })


$("#close").click(function(event) {

$("#example").popover('hide');
});
});
</script>

<button type="button" id="example" class="btn btn-primary" >click</button>

2
Вибачте, але це ніколи не спрацює. #closeіснує лише тоді, коли поповер активний, clickніколи не пов'язаний. Спробуйте alert($("#close").length);(попереджає 0)
davidkonrad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.