Всплывающее окно Bootstrap не работает при выводе в HTML

Когда всплывающее окно начальной загрузки выводится в html(), он не работает. Отображается только заголовок. Есть ли что-нибудь исправить?

Вы также можете увидеть рабочий пример

$( "button" ).click(function() {
 $("p").html('<a href = "#" title = "hello, this is title" data-toggle = "popover" data-trigger = "hover" data-content = "Some content">Hover over me</a>');
});

$(document).ready(function(){
    $('[data-toggle = "popover"]').popover();   
});
  <link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class = "container">
<p>Click the button to add popover</p>
<button class = "btn">button</button>
</div>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
794
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Всплывающее окно должно быть инициировано после при нажатии кнопки. Готовый документ загрузится только один раз при загрузке страницы.

$("button").click(function() {
   $("p").html('<a href = "#" title = "Header" data-toggle = "popover" data-trigger = "hover" data-content = "Some content">Hover over me</a>');
    $('[data-toggle = "popover"]').popover();   
});

https://jsfiddle.net/fLcz90q3/

Ответ принят как подходящий

$('[data-toggle = "popover"]').popover(); вызывает этот код после обновления html в теге <p>. вы должны повторно инициировать после добавления / перезаписи html. Вы должны добавить код выше внутри события щелчка.

Код внутри $(document).ready() будет работать только при загрузке страницы. Чтобы достичь динамически созданного элемента, вы должны инициировать его после создания / обновления элемента.

$( "button" ).click(function() {
    $("p").html('<a href = "#" title = "hello, this is title" data-toggle = "popover" data-trigger = "hover" data-content = "Some content">Hover over me</a>');
    $('[data-toggle = "popover"]').popover();
});

$(document).ready(function(){
    $('[data-toggle = "popover"]').popover();   
});
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class = "container">
    <p>Click the button to add popover</p>
    <button class = "btn">button</button>
</div>

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