স্কিপ করে মূল কন্টেন্ট এ যাও ডক্স নেভিগেশন এড়িয়ে যান
Check
in English

পপোভারস

বুটস্ট্র্যাপ পপওভার যোগ করার জন্য ডকুমেন্টেশন এবং উদাহরণ, যেমন iOS-এ পাওয়া যায়, আপনার সাইটের যেকোনো উপাদানে।

ওভারভিউ

পপওভার প্লাগইন ব্যবহার করার সময় যে বিষয়গুলি জানতে হবে:

  • পপভারগুলি অবস্থানের জন্য তৃতীয় পক্ষের লাইব্রেরি পপারের উপর নির্ভর করে । আপনাকে অবশ্যই আগে popper.min.js অন্তর্ভুক্ত করতে হবে bootstrap.js, অথবা bootstrap.bundle.min.jsপপার আছে এমন একটি ব্যবহার করুন৷
  • Popovers একটি নির্ভরতা হিসাবে popover প্লাগইন প্রয়োজন.
  • Popovers কর্মক্ষমতা কারণে অপ্ট-ইন করা হয়, তাই আপনি নিজেই সেগুলি শুরু করতে হবে
  • শূন্য-দৈর্ঘ্য titleএবং contentমান কখনই পপওভার দেখাবে না।
  • container: 'body'আরো জটিল উপাদানে রেন্ডারিং সমস্যা এড়াতে নির্দিষ্ট করুন (যেমন আমাদের ইনপুট গ্রুপ, বোতাম গ্রুপ, ইত্যাদি) ।
  • লুকানো উপাদানগুলিতে পপওভার ট্রিগার করা কাজ করবে না।
  • .disabledএকটি মোড়ক উপাদানের জন্য বা উপাদানগুলির জন্য পপভারগুলি disabledঅবশ্যই ট্রিগার করা উচিত৷
  • একাধিক লাইন জুড়ে মোড়ানো অ্যাঙ্কর থেকে ট্রিগার করা হলে, পপোভারগুলি অ্যাঙ্করগুলির সামগ্রিক প্রস্থের মধ্যে কেন্দ্রীভূত হবে। এই আচরণ এড়াতে .text-nowrapআপনার এস ব্যবহার করুন.<a>
  • DOM থেকে তাদের সংশ্লিষ্ট উপাদানগুলি সরানোর আগে Popovers অবশ্যই লুকিয়ে রাখতে হবে।
  • ছায়া DOM-এর ভিতরে একটি উপাদানের জন্য পপওভার ট্রিগার করা যেতে পারে।
ডিফল্টরূপে, এই উপাদানটি অন্তর্নির্মিত সামগ্রী স্যানিটাইজার ব্যবহার করে, যা স্পষ্টভাবে অনুমোদিত নয় এমন কোনও HTML উপাদানকে সরিয়ে দেয়। আরও বিশদ বিবরণের জন্য আমাদের জাভাস্ক্রিপ্ট ডকুমেন্টেশনে স্যানিটাইজার বিভাগটি দেখুন ।
এই উপাদানটির অ্যানিমেশন প্রভাব prefers-reduced-motionমিডিয়া প্রশ্নের উপর নির্ভর করে। আমাদের অ্যাক্সেসিবিলিটি ডকুমেন্টেশনের হ্রাসকৃত গতি বিভাগটি দেখুন ।

কিছু উদাহরণ সহ পপোভার কীভাবে কাজ করে তা দেখতে পড়তে থাকুন।

উদাহরণ

পপওভার সক্ষম করুন

উপরে উল্লিখিত হিসাবে, পপওভারগুলি ব্যবহার করার আগে আপনাকে অবশ্যই শুরু করতে হবে। একটি পৃষ্ঠায় সমস্ত পপোভার শুরু করার একটি উপায় হল তাদের data-bs-toggleবৈশিষ্ট্য অনুসারে তাদের নির্বাচন করা, যেমন:

const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))

সরাসরি নমুনা

নিম্নলিখিত লাইভ পপওভার রেন্ডার করতে আমরা উপরের স্নিপেটের মতো জাভাস্ক্রিপ্ট ব্যবহার করি। শিরোনাম এর মাধ্যমে সেট করা হয় data-bs-titleএবং শরীরের বিষয়বস্তু এর মাধ্যমে সেট করা হয় data-bs-content

titleহয় বা data-bs-titleআপনার HTML ব্যবহার করতে নির্দ্বিধায় . যখন ব্যবহার করা হয়, তখন উপাদান রেন্ডার করা হলে titleপপার স্বয়ংক্রিয়ভাবে এটি প্রতিস্থাপন করবে ।data-bs-title
html
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" data-bs-title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

চার দিক

চারটি বিকল্প উপলব্ধ: উপরে, ডান, নীচে এবং বাম। আরটিএল-এ বুটস্ট্র্যাপ ব্যবহার করার সময় দিকনির্দেশ মিরর করা হয়। data-bs-placementদিক পরিবর্তন করতে সেট করুন ।

html
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
  Popover on top
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">
  Popover on right
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">
  Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
  Popover on left
</button>

কাস্টমcontainer

যখন আপনার একটি প্যারেন্ট এলিমেন্টে কিছু স্টাইল থাকে যা একটি পপওভারে হস্তক্ষেপ করে, আপনি একটি কাস্টম নির্দিষ্ট করতে চাইবেন containerযাতে পপওভারের এইচটিএমএল পরিবর্তে সেই উপাদানটির মধ্যে উপস্থিত হয়। এটি প্রতিক্রিয়াশীল টেবিল, ইনপুট গ্রুপ এবং এর মতো সাধারণ।

const popover = new bootstrap.Popover('.example-popover', {
  container: 'body'
})

আরেকটি পরিস্থিতি যেখানে আপনি একটি সুস্পষ্ট কাস্টম সেট করতে চান তা হল একটি মডেল ডায়ালগেরcontainer ভিতরে পপওভার , যাতে নিশ্চিত করা যায় যে পপওভারটি নিজেই মোডেল যুক্ত হয়েছে। এটি বিশেষ করে পপোভারের জন্য গুরুত্বপূর্ণ যেগুলিতে ইন্টারেক্টিভ উপাদান রয়েছে - মডেল ডায়ালগগুলি ফোকাসকে আটকে রাখবে, তাই পপওভারটি মডেলের একটি শিশু উপাদান না হলে, ব্যবহারকারীরা এই ইন্টারেক্টিভ উপাদানগুলিকে ফোকাস করতে বা সক্রিয় করতে সক্ষম হবেন না৷

const popover = new bootstrap.Popover('.example-popover', {
  container: '.modal-body'
})

কাস্টম popovers

v5.2.0 এ যোগ করা হয়েছে

আপনি CSS ভেরিয়েবল ব্যবহার করে পপোভারের চেহারা কাস্টমাইজ করতে পারেন । data-bs-custom-class="custom-popover"আমরা আমাদের কাস্টম উপস্থিতির সুযোগের জন্য একটি কাস্টম ক্লাস সেট করি এবং কিছু স্থানীয় CSS ভেরিয়েবল ওভাররাইড করতে এটি ব্যবহার করি।

.custom-popover {
  --bs-popover-max-width: 200px;
  --bs-popover-border-color: var(--bs-primary);
  --bs-popover-header-bg: var(--bs-primary);
  --bs-popover-header-color: var(--bs-white);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: .5rem;
}
html
<button type="button" class="btn btn-secondary"
        data-bs-toggle="popover" data-bs-placement="right"
        data-bs-custom-class="custom-popover"
        data-bs-title="Custom popover"
        data-bs-content="This popover is themed via CSS variables.">
  Custom popover
</button>

পরবর্তী ক্লিকে খারিজ করুন

focusটগল এলিমেন্টের চেয়ে ভিন্ন এলিমেন্টের ব্যবহারকারীর পরবর্তী ক্লিকে পপওভার খারিজ করতে ট্রিগার ব্যবহার করুন ।

খারিজ-অন-পরের-ক্লিকের জন্য নির্দিষ্ট মার্কআপ প্রয়োজন

সঠিক ক্রস-ব্রাউজার এবং ক্রস-প্ল্যাটফর্ম আচরণের জন্য, আপনাকে ট্যাগ ব্যবহার করতে হবে, <a>ট্যাগ নয় ,<button> এবং আপনাকে অবশ্যই একটি tabindexবৈশিষ্ট্য অন্তর্ভুক্ত করতে হবে।

html
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-title="Dismissible popover" data-bs-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
const popover = new bootstrap.Popover('.popover-dismiss', {
  trigger: 'focus'
})

অক্ষম উপাদান

অ্যাট্রিবিউট সহ উপাদানগুলি disabledইন্টারেক্টিভ নয়, যার অর্থ ব্যবহারকারীরা একটি পপওভার (বা টুলটিপ) ট্রিগার করতে সেগুলিকে ঘোরাতে বা ক্লিক করতে পারে না। একটি সমাধান হিসাবে, আপনি একটি মোড়ক থেকে পপওভারটি ট্রিগার করতে চাইবেন <div>বা <span>আদর্শভাবে কীবোর্ড-ফোকাসযোগ্য ব্যবহার করে তৈরি করতে চাইবেন tabindex="0"

অক্ষম পপওভার ট্রিগারগুলির জন্য, আপনি পছন্দ করতে পারেন data-bs-trigger="hover focus"যাতে পপওভারটি আপনার ব্যবহারকারীদের কাছে তাত্ক্ষণিক ভিজ্যুয়াল প্রতিক্রিয়া হিসাবে উপস্থিত হয় কারণ তারা একটি অক্ষম উপাদানে ক্লিক করার আশা নাও করতে পারে৷

html
<span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="Disabled popover">
  <button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>

সিএসএস

ভেরিয়েবল

v5.2.0 এ যোগ করা হয়েছে

বুটস্ট্র্যাপের বিকশিত CSS ভেরিয়েবল পদ্ধতির অংশ হিসাবে, পপোভারগুলি এখন .popoverউন্নত রিয়েল-টাইম কাস্টমাইজেশনের জন্য স্থানীয় CSS ভেরিয়েবল ব্যবহার করে। CSS ভেরিয়েবলের মান Sass এর মাধ্যমে সেট করা হয়, তাই Sass কাস্টমাইজেশন এখনও সমর্থিত।

  --#{$prefix}popover-zindex: #{$zindex-popover};
  --#{$prefix}popover-max-width: #{$popover-max-width};
  @include rfs($popover-font-size, --#{$prefix}popover-font-size);
  --#{$prefix}popover-bg: #{$popover-bg};
  --#{$prefix}popover-border-width: #{$popover-border-width};
  --#{$prefix}popover-border-color: #{$popover-border-color};
  --#{$prefix}popover-border-radius: #{$popover-border-radius};
  --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};
  --#{$prefix}popover-box-shadow: #{$popover-box-shadow};
  --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};
  --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};
  @include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);
  --#{$prefix}popover-header-color: #{$popover-header-color};
  --#{$prefix}popover-header-bg: #{$popover-header-bg};
  --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};
  --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};
  --#{$prefix}popover-body-color: #{$popover-body-color};
  --#{$prefix}popover-arrow-width: #{$popover-arrow-width};
  --#{$prefix}popover-arrow-height: #{$popover-arrow-height};
  --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);
  

Sass ভেরিয়েবল

$popover-font-size:                 $font-size-sm;
$popover-bg:                        $white;
$popover-max-width:                 276px;
$popover-border-width:              $border-width;
$popover-border-color:              var(--#{$prefix}border-color-translucent);
$popover-border-radius:             $border-radius-lg;
$popover-inner-border-radius:       subtract($popover-border-radius, $popover-border-width);
$popover-box-shadow:                $box-shadow;

$popover-header-font-size:          $font-size-base;
$popover-header-bg:                 shade-color($popover-bg, 6%);
$popover-header-color:              $headings-color;
$popover-header-padding-y:          .5rem;
$popover-header-padding-x:          $spacer;

$popover-body-color:                $body-color;
$popover-body-padding-y:            $spacer;
$popover-body-padding-x:            $spacer;

$popover-arrow-width:               1rem;
$popover-arrow-height:              .5rem;

ব্যবহার

জাভাস্ক্রিপ্টের মাধ্যমে পপওভার সক্ষম করুন:

const exampleEl = document.getElementById('example')
const popover = new bootstrap.Popover(exampleEl, options)

কীবোর্ড এবং সহায়ক প্রযুক্তি ব্যবহারকারীদের জন্য পপওভার কাজ করে

কীবোর্ড ব্যবহারকারীদের আপনার পপওভার সক্রিয় করার অনুমতি দেওয়ার জন্য, আপনাকে শুধুমাত্র সেগুলিকে এইচটিএমএল উপাদানগুলিতে যুক্ত করা উচিত যা ঐতিহ্যগতভাবে কীবোর্ড-ফোকাসযোগ্য এবং ইন্টারেক্টিভ (যেমন লিঙ্ক বা ফর্ম নিয়ন্ত্রণ)। যদিও স্বেচ্ছাচারী HTML উপাদানগুলি (যেমন <span>s) অ্যাট্রিবিউট যোগ করে ফোকাসযোগ্য করা যেতে পারে tabindex="0", এটি কীবোর্ড ব্যবহারকারীদের জন্য অ-ইন্টারেক্টিভ উপাদানগুলিতে সম্ভাব্য বিরক্তিকর এবং বিভ্রান্তিকর ট্যাব স্টপ যোগ করবে এবং বেশিরভাগ সহায়ক প্রযুক্তি বর্তমানে এই পরিস্থিতিতে পপওভারের বিষয়বস্তু ঘোষণা করে না। . অতিরিক্তভাবে, আপনার পপভারের জন্য ট্রিগার হিসাবে সম্পূর্ণরূপে নির্ভর করবেন না hover, কারণ এটি কীবোর্ড ব্যবহারকারীদের জন্য ট্রিগার করা অসম্ভব করে তুলবে।

আপনি বিকল্পের সাথে পপওভারে সমৃদ্ধ, স্ট্রাকচার্ড HTML সন্নিবেশ করতে পারেন html, আমরা দৃঢ়ভাবে সুপারিশ করি যে আপনি অতিরিক্ত পরিমাণে সামগ্রী যোগ করা এড়ান। পপভারগুলি বর্তমানে যেভাবে কাজ করে তা হল, একবার প্রদর্শিত হলে, তাদের বিষয়বস্তুটি aria-describedbyবৈশিষ্ট্যের সাথে ট্রিগার উপাদানের সাথে সংযুক্ত থাকে। ফলস্বরূপ, পপওভারের সম্পূর্ণ বিষয়বস্তু একটি দীর্ঘ, নিরবচ্ছিন্ন স্ট্রীম হিসাবে সহায়ক প্রযুক্তি ব্যবহারকারীদের কাছে ঘোষণা করা হবে।

উপরন্তু, আপনার পপওভারে ইন্টারেক্টিভ কন্ট্রোল (যেমন ফর্ম উপাদান বা লিঙ্ক) অন্তর্ভুক্ত করা সম্ভব হলেও ( allowListঅনুমোদিত বৈশিষ্ট্য এবং ট্যাগের সাথে এই উপাদানগুলি যোগ করে), সচেতন থাকুন যে বর্তমানে পপওভার কীবোর্ড ফোকাস অর্ডার পরিচালনা করে না। যখন একজন কীবোর্ড ব্যবহারকারী একটি পপওভার খোলে, তখন ফোকাস ট্রিগারিং এলিমেন্টের উপর থাকে এবং পপওভার সাধারণত ডকুমেন্টের কাঠামোতে ট্রিগারটিকে অবিলম্বে অনুসরণ করে না, তাই এগিয়ে চলা/চাপানোর কোনো নিশ্চয়তা নেইTABএকটি কীবোর্ড ব্যবহারকারীকে পপওভারে নিয়ে যাবে। সংক্ষেপে, একটি পপওভারে কেবল ইন্টারেক্টিভ নিয়ন্ত্রণ যোগ করলে এই নিয়ন্ত্রণগুলি কীবোর্ড ব্যবহারকারী এবং সহায়ক প্রযুক্তির ব্যবহারকারীদের জন্য অগম্য/অব্যবহারযোগ্য করে তুলতে পারে, অথবা অন্ততপক্ষে একটি অযৌক্তিক সামগ্রিক ফোকাস অর্ডার তৈরি করতে পারে। এই ক্ষেত্রে, পরিবর্তে একটি মডেল ডায়ালগ ব্যবহার বিবেচনা করুন।

অপশন

যেহেতু বিকল্পগুলি ডেটা অ্যাট্রিবিউট বা জাভাস্ক্রিপ্টের মাধ্যমে পাস করা যেতে পারে, আপনি তে একটি বিকল্প নাম যুক্ত করতে data-bs-পারেন data-bs-animation="{value}"। ডেটা অ্যাট্রিবিউটের মাধ্যমে বিকল্পগুলি পাস করার সময় বিকল্পের নামটির কেস টাইপ " camelCase " থেকে " kebab-case " এ পরিবর্তন করা নিশ্চিত করুন। উদাহরণস্বরূপ, data-bs-custom-class="beautifier"এর পরিবর্তে ব্যবহার করুন data-bs-customClass="beautifier"

বুটস্ট্র্যাপ 5.2.0 অনুসারে, সমস্ত উপাদান একটি পরীক্ষামূলক সংরক্ষিত ডেটা অ্যাট্রিবিউটকে সমর্থন করে data-bs-configযা একটি JSON স্ট্রিং হিসাবে সাধারণ উপাদান কনফিগারেশন রাখতে পারে। যখন একটি উপাদান data-bs-config='{"delay":0, "title":123}'এবং data-bs-title="456"বৈশিষ্ট্য থাকে, চূড়ান্ত titleমান হবে 456এবং পৃথক ডেটা বৈশিষ্ট্যগুলি তে দেওয়া মানগুলিকে ওভাররাইড করবে data-bs-config৷ উপরন্তু, বিদ্যমান ডেটা বৈশিষ্ট্যগুলি যেমন JSON মান রাখতে সক্ষম data-bs-delay='{"show":0,"hide":150}'

মনে রাখবেন যে নিরাপত্তার কারণে sanitize, sanitizeFn, এবং allowListবিকল্পগুলি ডেটা বৈশিষ্ট্যগুলি ব্যবহার করে সরবরাহ করা যাবে না।
নাম টাইপ ডিফল্ট বর্ণনা
allowList বস্তু ডিফল্ট মান বস্তু যা অনুমোদিত বৈশিষ্ট্য এবং ট্যাগ ধারণ করে।
animation বুলিয়ান true পপওভারে একটি CSS ফেইড ট্রানজিশন প্রয়োগ করুন।
boundary স্ট্রিং, উপাদান 'clippingParents' পপওভারের ওভারফ্লো সীমাবদ্ধতা (শুধু পপারের প্রতিরোধ ওভারফ্লো সংশোধকের ক্ষেত্রে প্রযোজ্য)। ডিফল্টরূপে, এটি 'clippingParents'একটি HTMLElement রেফারেন্স (শুধুমাত্র জাভাস্ক্রিপ্টের মাধ্যমে) গ্রহণ করতে পারে। আরও তথ্যের জন্য Popper's detectOverflow ডক্স পড়ুন ।
container স্ট্রিং, উপাদান, মিথ্যা false একটি নির্দিষ্ট উপাদানের সাথে পপওভার যুক্ত করে। উদাহরণ: container: 'body'. এই বিকল্পটি বিশেষভাবে উপযোগী যে এটি আপনাকে নথির প্রবাহে পপওভারকে ট্রিগারিং উপাদানের কাছাকাছি অবস্থান করতে দেয় - যা একটি উইন্ডোর আকার পরিবর্তন করার সময় পপওভারটিকে ট্রিগারিং উপাদান থেকে দূরে ভাসতে বাধা দেবে।
content স্ট্রিং, উপাদান, ফাংশন '' data-bs-contentবৈশিষ্ট্য উপস্থিত না থাকলে ডিফল্ট সামগ্রী মান । যদি একটি ফাংশন দেওয়া হয়, এটিকে thisপপওভারটি যে উপাদানটির সাথে সংযুক্ত করা হয়েছে তার রেফারেন্স সেট সহ কল ​​করা হবে।
customClass স্ট্রিং, ফাংশন '' পপওভারে ক্লাস যোগ করুন যখন এটি দেখানো হয়। মনে রাখবেন যে এই ক্লাসগুলি টেমপ্লেটে নির্দিষ্ট করা যেকোন ক্লাস ছাড়াও যোগ করা হবে। একাধিক ক্লাস যোগ করতে, তাদের স্পেস দিয়ে আলাদা করুন: 'class-1 class-2'. আপনি এমন একটি ফাংশনও পাস করতে পারেন যা অতিরিক্ত শ্রেণির নাম সমন্বিত একটি একক স্ট্রিং প্রদান করবে।
delay সংখ্যা, বস্তু 0 পপওভার (ms) দেখানো এবং লুকানো বিলম্ব - ম্যানুয়াল ট্রিগার প্রকারের ক্ষেত্রে প্রযোজ্য নয়। যদি একটি নম্বর সরবরাহ করা হয়, বিলম্ব উভয় লুকান/দেখাতে প্রয়োগ করা হয়। বস্তুর গঠন হল delay: { "show": 500, "hide": 100 }:
fallbackPlacements স্ট্রিং, অ্যারে ['top', 'right', 'bottom', 'left'] অ্যারেতে প্লেসমেন্টের একটি তালিকা প্রদান করে ফলব্যাক প্লেসমেন্ট সংজ্ঞায়িত করুন (অভিরুচি অনুসারে)। আরও তথ্যের জন্য পপারের আচরণের ডক্স দেখুন ।
html বুলিয়ান false পপওভারে HTML-এর অনুমতি দিন। সত্য হলে, পপওভারে HTML ট্যাগগুলি পপওভারে titleরেন্ডার করা হবে। মিথ্যা হলে, innerTextDOM-এ বিষয়বস্তু সন্নিবেশ করতে প্রপার্টি ব্যবহার করা হবে। আপনি যদি XSS আক্রমণ সম্পর্কে চিন্তিত হন তবে পাঠ্য ব্যবহার করুন৷
offset সংখ্যা, স্ট্রিং, ফাংশন [0, 0] এর টার্গেটের তুলনায় পপওভার অফসেট। আপনি কমা দ্বারা পৃথক মান সহ ডেটা বৈশিষ্ট্যগুলির মধ্যে একটি স্ট্রিং পাস করতে পারেন যেমন data-bs-offset="10,20": যখন অফসেট নির্ধারণ করতে একটি ফাংশন ব্যবহার করা হয়, তখন এটিকে পপার বসানো, রেফারেন্স সহ একটি বস্তুর সাথে ডাকা হয় এবং পপার তার প্রথম যুক্তি হিসাবে রেক্ট করে। ট্রিগারিং উপাদান DOM নোডটি দ্বিতীয় আর্গুমেন্ট হিসাবে পাস করা হয়। ফাংশনটি অবশ্যই দুটি সংখ্যা সহ একটি অ্যারে প্রদান করবে: স্কিডিং , দূরত্ব । আরও তথ্যের জন্য পপারের অফসেট ডক্স দেখুন ।
placement স্ট্রিং, ফাংশন 'top' পপওভারটি কীভাবে অবস্থান করবেন: স্বয়ংক্রিয়, শীর্ষ, নীচে, বাম, ডান। যখন autoনির্দিষ্ট করা হয়, এটি গতিশীলভাবে পপওভারকে পুনর্বিন্যাস করবে। প্লেসমেন্ট নির্ধারণ করতে যখন একটি ফাংশন ব্যবহার করা হয়, তখন এটিকে প্রথম আর্গুমেন্ট হিসাবে পপওভার DOM নোড এবং দ্বিতীয় হিসাবে ট্রিগারিং উপাদান DOM নোডকে বলা হয়। thisপ্রসঙ্গটি পপওভার উদাহরণে সেট করা হয়েছে ।
popperConfig নাল, বস্তু, ফাংশন null বুটস্ট্র্যাপের ডিফল্ট পপার কনফিগারেশন পরিবর্তন করতে, পপারের কনফিগারেশন দেখুন । যখন একটি ফাংশন পপার কনফিগারেশন তৈরি করতে ব্যবহার করা হয়, তখন এটিকে এমন একটি বস্তুর সাথে বলা হয় যাতে বুটস্ট্র্যাপের ডিফল্ট পপার কনফিগারেশন থাকে। এটি আপনাকে আপনার নিজস্ব কনফিগারেশনের সাথে ডিফল্ট ব্যবহার এবং মার্জ করতে সহায়তা করে। ফাংশনটি অবশ্যই পপারের জন্য একটি কনফিগারেশন অবজেক্ট রিটার্ন করবে।
sanitize বুলিয়ান true স্যানিটাইজেশন সক্ষম বা অক্ষম করুন। সক্রিয় হলে 'template', 'content'এবং 'title'বিকল্পগুলি স্যানিটাইজ করা হবে।
sanitizeFn নাল, ফাংশন null এখানে আপনি আপনার নিজস্ব স্যানিটাইজ ফাংশন সরবরাহ করতে পারেন। আপনি স্যানিটাইজেশন সঞ্চালনের জন্য একটি ডেডিকেটেড লাইব্রেরি ব্যবহার করতে পছন্দ করলে এটি কার্যকর হতে পারে।
selector স্ট্রিং, মিথ্যা false একটি নির্বাচক প্রদান করা হলে, পপওভার অবজেক্টগুলি নির্দিষ্ট লক্ষ্যগুলিতে অর্পণ করা হবে৷ jQuery.onঅনুশীলনে, এটি গতিশীলভাবে যুক্ত DOM উপাদানগুলিতে ( সমর্থন) পপওভার প্রয়োগ করতে ব্যবহৃত হয় । এই সমস্যা এবং একটি তথ্যপূর্ণ উদাহরণ দেখুন ।
template স্ট্রিং '<div class="popover" role="popover"><div class="popover-arrow"></div><div class="popover-inner"></div></div>' পপওভার তৈরি করার সময় ব্যবহার করার জন্য বেস এইচটিএমএল। পপওভার এর titleমধ্যে ইনজেকশন করা হবে .popover-inner. .popover-arrowপপওভারের তীর হয়ে যাবে। সবচেয়ে বাইরের মোড়কের উপাদানটিতে .popoverক্লাস এবং role="popover".
title স্ট্রিং, উপাদান, ফাংশন '' titleঅ্যাট্রিবিউট উপস্থিত না থাকলে ডিফল্ট শিরোনাম মান । যদি একটি ফাংশন দেওয়া হয়, এটিকে thisপপওভারটি যে উপাদানটির সাথে সংযুক্ত করা হয়েছে তার রেফারেন্স সেট সহ কল ​​করা হবে।
trigger স্ট্রিং 'hover focus' কিভাবে পপওভার ট্রিগার হয়: ক্লিক, হোভার, ফোকাস, ম্যানুয়াল। আপনি একাধিক ট্রিগার পাস করতে পারেন; একটি স্থান দিয়ে তাদের আলাদা করুন। 'manual'নির্দেশ করে যে পপওভারটি .popover('show'), .popover('hide')এবং .popover('toggle')পদ্ধতির মাধ্যমে প্রোগ্রাম্যাটিকভাবে ট্রিগার করা হবে; এই মান অন্য কোনো ট্রিগার সঙ্গে মিলিত করা যাবে না. 'hover'এর ফলে পপওভার হবে যা কীবোর্ডের মাধ্যমে ট্রিগার করা যায় না, এবং শুধুমাত্র তখনই ব্যবহার করা উচিত যদি কীবোর্ড ব্যবহারকারীদের জন্য একই তথ্য জানানোর বিকল্প পদ্ধতি উপস্থিত থাকে।

পৃথক পপোভারের জন্য ডেটা বৈশিষ্ট্য

পৃথক পপোভারের বিকল্পগুলি বিকল্পভাবে ডেটা অ্যাট্রিবিউট ব্যবহারের মাধ্যমে নির্দিষ্ট করা যেতে পারে, যেমন উপরে ব্যাখ্যা করা হয়েছে।

সঙ্গে ফাংশন ব্যবহার করেpopperConfig

const popover = new bootstrap.Popover(element, {
  popperConfig(defaultBsPopperConfig) {
    // const newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

পদ্ধতি

অ্যাসিঙ্ক্রোনাস পদ্ধতি এবং রূপান্তর

সমস্ত API পদ্ধতি অসিঙ্ক্রোনাস এবং একটি রূপান্তর শুরু করে । রূপান্তর শুরু হওয়ার সাথে সাথেই কিন্তু এটি শেষ হওয়ার আগেই তারা কলারের কাছে ফিরে আসে । উপরন্তু, একটি রূপান্তরকারী উপাদানের উপর একটি পদ্ধতি কল উপেক্ষা করা হবে

আরও তথ্যের জন্য আমাদের জাভাস্ক্রিপ্ট ডকুমেন্টেশন দেখুন

পদ্ধতি বর্ণনা
disable একটি উপাদানের পপওভার দেখানোর ক্ষমতা সরিয়ে দেয়। পপওভার শুধুমাত্র দেখাতে সক্ষম হবে যদি এটি পুনরায় সক্রিয় করা হয়।
dispose একটি উপাদানের পপওভার লুকিয়ে রাখে এবং ধ্বংস করে (DOM উপাদানে সঞ্চিত ডেটা সরিয়ে দেয়)। ডেলিগেশন ব্যবহার করে পপোভার (যা বিকল্প ব্যবহার করেselector তৈরি করা হয় ) বংশধর ট্রিগার উপাদানগুলিতে পৃথকভাবে ধ্বংস করা যাবে না।
enable একটি উপাদানের পপওভার দেখানোর ক্ষমতা দেয়। Popovers ডিফল্টরূপে সক্রিয় করা হয়.
getInstance স্ট্যাটিক পদ্ধতি যা আপনাকে একটি DOM উপাদানের সাথে যুক্ত পপওভার উদাহরণ পেতে দেয়।
getOrCreateInstance স্ট্যাটিক পদ্ধতি যা আপনাকে একটি DOM এলিমেন্টের সাথে যুক্ত পপওভার ইনস্ট্যান্স পেতে দেয় বা এটি আরম্ভ না হলে একটি নতুন তৈরি করতে দেয়।
hide একটি উপাদানের পপওভার লুকিয়ে রাখে। পপওভারটি আসলে লুকানো হওয়ার আগে (অর্থাৎ hidden.bs.popoverঘটনা ঘটার আগে) কলারের কাছে ফিরে আসে। এটি পপওভারের একটি "ম্যানুয়াল" ট্রিগারিং হিসাবে বিবেচিত হয়।
setContent শুরু করার পরে পপওভারের বিষয়বস্তু পরিবর্তন করার একটি উপায় দেয়।
show একটি উপাদানের পপওভার প্রকাশ করে। পপওভার আসলে দেখানোর আগে (অর্থাৎ shown.bs.popoverঘটনা ঘটার আগে) কলারের কাছে ফিরে আসে। এটি পপওভারের একটি "ম্যানুয়াল" ট্রিগারিং হিসাবে বিবেচিত হয়। Popovers যাদের শিরোনাম এবং বিষয়বস্তু উভয়ই শূন্য-দৈর্ঘ্যের হয় তা কখনই প্রদর্শিত হয় না।
toggle একটি উপাদানের পপওভার টগল করে। পপওভারটি আসলে দেখানো বা লুকানোর আগে (অর্থাৎ ঘটনা ঘটার আগে) কলারের কাছেshown.bs.popover ফিরে আসে hidden.bs.popover। এটি পপওভারের একটি "ম্যানুয়াল" ট্রিগারিং হিসাবে বিবেচিত হয়।
toggleEnabled একটি উপাদানের পপওভার দেখানো বা লুকানোর ক্ষমতা টগল করে।
update একটি উপাদানের পপওভারের অবস্থান আপডেট করে।
// getOrCreateInstance example
const popover = bootstrap.Popover.getOrCreateInstance('#example') // Returns a Bootstrap popover instance

// setContent example
myPopover.setContent({
  '.popover-header': 'another title',
  '.popover-body': 'another content'
})
পদ্ধতিটি setContentএকটি objectযুক্তি গ্রহণ করে, যেখানে প্রতিটি সম্পত্তি-কী stringপপওভার টেমপ্লেটের মধ্যে একটি বৈধ নির্বাচক এবং প্রতিটি সম্পর্কিত সম্পত্তি-মান হতে পারে string| element| function| null

ঘটনা

ঘটনা বর্ণনা
hide.bs.popover এই ইভেন্টটি অবিলম্বে বহিস্কার করা হয় যখন hideউদাহরণ পদ্ধতিটি কল করা হয়।
hidden.bs.popover পপওভার ব্যবহারকারীর কাছ থেকে লুকানো শেষ হলে এই ইভেন্টটি বরখাস্ত করা হয় (সিএসএস রূপান্তর সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে)।
inserted.bs.popover show.bs.popoverDOM-এ পপওভার টেমপ্লেট যোগ করা হলে ইভেন্টের পরে এই ইভেন্টটি বরখাস্ত করা হয় ।
show.bs.popover এই ইভেন্টটি অবিলম্বে ফায়ার করে যখন showইনস্ট্যান্স পদ্ধতিটি কল করা হয়।
shown.bs.popover পপওভারটি ব্যবহারকারীর কাছে দৃশ্যমান হয়ে গেলে এই ইভেন্টটি বরখাস্ত করা হয় (সিএসএস রূপান্তর সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে)।
const myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', () => {
  // do something...
})