Pertama-tama, jika Anda ingin menggunakan HTML di dalam konten, Anda perlu mengatur opsi HTML menjadi true:
$('.danger').popover({ html : true});
Kemudian Anda memiliki dua opsi untuk mengatur konten untuk Popover
- Gunakan atribut data-konten. Ini adalah opsi default.
- Gunakan fungsi JS khusus yang mengembalikan konten HTML.
Menggunakan data-konten : Anda harus keluar dari konten HTML, sesuatu seperti ini:
<a class='danger' data-placement='above'
data-content="<div>This is your div content</div>"
title="Title" href='#'>Click</a>
Anda bisa keluar dari HTML secara manual atau menggunakan fungsi. Saya tidak tahu tentang PHP tetapi di Rails kami menggunakan * html_safe *.
Menggunakan fungsi JS : Jika Anda melakukan ini, Anda memiliki beberapa opsi. Yang paling mudah menurut saya adalah meletakkan konten div Anda disembunyikan di mana pun Anda inginkan dan kemudian menulis fungsi untuk meneruskan kontennya ke popover. Sesuatu seperti ini:
$(document).ready(function(){
$('.danger').popover({
html : true,
content: function() {
return $('#popover_content_wrapper').html();
}
});
});
Dan HTML Anda terlihat seperti ini:
<a class='danger' data-placement='above' title="Popover Title" href='#'>Click</a>
<div id="popover_content_wrapper" style="display: none">
<div>This is your div content</div>
</div>
Semoga ini bisa membantu!
PS: Saya mengalami beberapa masalah saat menggunakan popover dan tidak mengatur atribut title ... jadi, ingatlah untuk selalu mengatur judul.
popover_content_wrapper
, solusi ini akan menimbulkan masalah karena sedang diterjemahkan ke html (tanpa penangan Anda). Solusinya kemudian adalah mendengarkan acara "insert.bs.popover" dan melampirkan kembali pawang Anda ke elemen baru yang sekarang ada di DOM.Berdasarkan jawaban jävi, ini dapat dilakukan tanpa ID atau atribut tombol tambahan seperti ini:
http://jsfiddle.net/isherwood/E5Ly5/
sumber
Metode alternatif lain jika Anda ingin memiliki tampilan dan nuansa pop-up. Berikut ini adalah metodenya. Offcourse ini adalah hal manual, tapi bisa diterapkan :)
HTML - tombol
HTML - popover
JS
sumber
style="top: 200px; left: 90px;
kebgform
div. Apakah ada cara untuk memanggil kode penempatan otomatis bootstrap? Anda juga dapat menggunakan fadeToggle () atau hanya beralih () untuk efek yang berbeda di javascript.Terlambat ke pesta. Membangun solusi lain. Saya membutuhkan cara untuk lulus target DIV sebagai variabel . Inilah yang saya lakukan.
HTML untuk sumber Popover (menambahkan atribut data data-pop yang akan menyimpan nilai untuk id / atau kelas DIV tujuan):
HTML untuk konten Popover (saya menggunakan kelas menyembunyikan bootstrap):
Naskah:
sumber
Selain balasan lainnya. Jika Anda mengizinkan
html
dalam opsi, Anda dapat meneruskanjQuery
objek ke konten, dan itu akan ditambahkan ke konten popover dengan semua acara dan binding. Berikut ini logika dari kode sumber:html
tidak diizinkan data konten akan diterapkan sebagai tekshtml
diizinkan dan data konten adalah string, itu akan diterapkan sebagaihtml
sumber
Semua jawaban ini kehilangan aspek yang sangat penting!
Dengan menggunakan .html atau innerHtml atau outerHtml Anda sebenarnya tidak menggunakan elemen yang dirujuk. Anda menggunakan salinan html elemen. Ini memiliki beberapa kelemahan serius.
Yang ingin Anda lakukan adalah memuat objek itu sendiri ke popover.
https://jsfiddle.net/shrewmouse/ex6tuzm2/4/
HTML:
JQuery:
sumber
Kenapa begitu rumit? letakkan ini:
sumber
sumber