আরেকটি সমাধান:
$target.find('.myPopOver').mouseenter(function()
{
if($(this).data('popover') == null)
{
$(this).popover({
animation: false,
placement: 'right',
trigger: 'manual',
title: 'My Dynamic PopOver',
html : true,
template: $('#popoverTemplate').clone().attr('id','').html()
});
}
$(this).popover('show');
$.ajax({
type: HTTP_GET,
url: "/myURL"
success: function(data)
{
$('.popover.in .popover-inner').empty();
$('.popover.in .popover-inner').html(data);
}
});
});
$target.find('.myPopOver').mouseleave(function()
{
$(this).popover('hide');
});
এখানে ধারণাটি হ'ল পপওভারের প্রদর্শনটি মাউসেন্টার এবং মাউসলেভ ইভেন্টগুলির সাহায্যে ম্যানুয়ালি ট্রিগার করা ।
উপর mouseenter , যদি কোন PopOver আপনার আইটেমের জন্য তৈরী করেছি (হয় যদি ($ (এই) .data ( 'popover') == নাল) ), এটা তৈরি করুন। মজার বিষয় হ'ল আপনি নিজের পপওভার সামগ্রীটি পপওভার () ফাংশনে আর্গুমেন্ট ( টেমপ্লেট ) হিসাবে পাস করে সংজ্ঞায়িত করতে পারেন । সেট করতে ভুলবেন না এইচটিএমএল থেকে প্যারামিটার সত্য এছাড়াও।
এখানে আমি কেবল পপওভারটেম্পলেট নামে একটি লুকানো টেম্পলেট তৈরি করেছি এবং এটি জিকুয়েরির সাথে ক্লোন করেছি। আপনি একবার এটি ক্লোন করে নিলে আইডি বৈশিষ্ট্যটি মুছে ফেলতে ভুলবেন না অন্যথায় আপনি ডওমে ডুপ্লিকেটড আইডি দিয়ে শেষ করবেন। পৃষ্ঠায় টেমপ্লেটটি আড়াল করতে সেই শৈলীটি = "প্রদর্শন: কিছুই নয়" লক্ষ্য করুন।
<div id="popoverTemplateContainer" style="display: none">
<div id="popoverTemplate">
<div class="popover" >
<div class="arrow"></div>
<div class="popover-inner">
//Custom data here
</div>
</div>
</div>
</div>
সৃষ্টির পদক্ষেপের পরে (অথবা এটি ইতিমধ্যে তৈরি করা হয়েছে), আপনি কেবল পপওভারটি $ (এটি) .পপওভার ('শো') দিয়ে প্রদর্শন করবেন;
তারপরে ক্লাসিকাল আজাক্স কল। সাফল্যে আপনাকে সার্ভার থেকে নতুন নতুন ডেটা রাখার আগে পুরাতন পপওভার সামগ্রীটি পরিষ্কার করতে হবে । আমরা কীভাবে বর্তমান পপওভার সামগ্রী পেতে পারি? সঙ্গে .popover.in নির্বাচক! .In বর্গ নির্দেশ করে যে popover বর্তমানে প্রদর্শিত হয়, যে কৌতুক এখানে!
শেষ করতে, মাউসলেভ ইভেন্টে, কেবল পপওভারটি লুকান।