পপোভারস
বুটস্ট্র্যাপ পপওভার যোগ করার জন্য ডকুমেন্টেশন এবং উদাহরণ, যেমন iOS-এ পাওয়া যায়, আপনার সাইটের যেকোনো উপাদানে।
ওভারভিউ
পপওভার প্লাগইন ব্যবহার করার সময় যে বিষয়গুলি জানতে হবে:
- পপভারগুলি অবস্থানের জন্য 3য় পক্ষের লাইব্রেরি পপারের উপর নির্ভর করে । bootstrap.js এর আগে আপনাকে অবশ্যই popper.min.js
bootstrap.bundle.min.js
অন্তর্ভুক্ত করতে হবে অথবা popovers কাজ করার জন্য ব্যবহার করতে হবে /bootstrap.bundle.js
যাতে পপার রয়েছে! - Popovers একটি নির্ভরতা হিসাবে টুলটিপ প্লাগইন প্রয়োজন.
- আপনি যদি উৎস থেকে আমাদের জাভাস্ক্রিপ্ট তৈরি করেন, তাহলে এটির প্রয়োজন
util.js
। - Popovers কর্মক্ষমতা কারণে অপ্ট-ইন করা হয়, তাই আপনি নিজেই সেগুলি শুরু করতে হবে ৷
- শূন্য-দৈর্ঘ্য
title
এবংcontent
মান কখনই পপওভার দেখাবে না। container: 'body'
আরো জটিল উপাদানে রেন্ডারিং সমস্যা এড়াতে নির্দিষ্ট করুন (যেমন আমাদের ইনপুট গ্রুপ, বোতাম গ্রুপ, ইত্যাদি) ।- লুকানো উপাদানগুলিতে পপওভার ট্রিগার করা কাজ করবে না।
.disabled
একটি মোড়ক উপাদানের জন্য বা উপাদানগুলির জন্য পপভারগুলিdisabled
অবশ্যই ট্রিগার করা উচিত৷- একাধিক লাইন জুড়ে মোড়ানো অ্যাঙ্কর থেকে ট্রিগার করা হলে, পপোভারগুলি অ্যাঙ্করগুলির সামগ্রিক প্রস্থের মধ্যে কেন্দ্রীভূত হবে। এই আচরণ এড়াতে
.text-nowrap
আপনার এস ব্যবহার করুন.<a>
- DOM থেকে তাদের সংশ্লিষ্ট উপাদানগুলি সরানোর আগে Popovers অবশ্যই লুকিয়ে রাখতে হবে।
- ছায়া DOM-এর ভিতরে একটি উপাদানের জন্য পপওভার ট্রিগার করা যেতে পারে।
prefers-reduced-motion
মিডিয়া প্রশ্নের উপর নির্ভর করে। আমাদের অ্যাক্সেসিবিলিটি ডকুমেন্টেশনের হ্রাসকৃত গতি বিভাগটি দেখুন
।
কিছু উদাহরণ সহ পপোভার কীভাবে কাজ করে তা দেখতে পড়তে থাকুন।
উদাহরণ: সর্বত্র পপোভার সক্ষম করুন
একটি পৃষ্ঠায় সমস্ত পপওভার শুরু করার একটি উপায় হল তাদের data-toggle
বৈশিষ্ট্য অনুসারে তাদের নির্বাচন করা:
$(function () {
$('[data-toggle="popover"]').popover()
})
উদাহরণ: container
বিকল্পটি ব্যবহার করা
যখন আপনার একটি প্যারেন্ট এলিমেন্টে কিছু স্টাইল থাকে যা একটি পপওভারে হস্তক্ষেপ করে, আপনি একটি কাস্টম নির্দিষ্ট করতে চাইবেন container
যাতে পপওভারের এইচটিএমএল পরিবর্তে সেই উপাদানটির মধ্যে উপস্থিত হয়।
$(function () {
$('.example-popover').popover({
container: 'body'
})
})
উদাহরণ
<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
চার দিক
চারটি বিকল্প উপলব্ধ: উপরে, ডান, নীচে এবং বাম প্রান্তিককৃত।
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="top" data-content="Top popover">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="right" data-content="Right popover">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Bottom popover">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="left" data-content="Left popover">
Popover on left
</button>
পরবর্তী ক্লিকে খারিজ করুন
focus
টগল এলিমেন্টের চেয়ে ভিন্ন এলিমেন্টের ব্যবহারকারীর পরবর্তী ক্লিকে পপওভার খারিজ করতে ট্রিগার ব্যবহার করুন ।
খারিজ-অন-পরের-ক্লিকের জন্য নির্দিষ্ট মার্কআপ প্রয়োজন
সঠিক ক্রস-ব্রাউজার এবং ক্রস-প্ল্যাটফর্ম আচরণের জন্য, আপনাকে ট্যাগ ব্যবহার করতে হবে, <a>
ট্যাগ নয় ,<button>
এবং আপনাকে অবশ্যই একটি tabindex
বৈশিষ্ট্য অন্তর্ভুক্ত করতে হবে।
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" data-trigger="focus" title="Dismissible popover" data-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
$('.popover-dismiss').popover({
trigger: 'focus'
})
অক্ষম উপাদান
অ্যাট্রিবিউট সহ উপাদানগুলি disabled
ইন্টারেক্টিভ নয়, যার অর্থ ব্যবহারকারীরা একটি পপওভার (বা টুলটিপ) ট্রিগার করতে সেগুলিকে ঘোরাতে বা ক্লিক করতে পারে না। একটি সমাধান হিসাবে, আপনি একটি মোড়ক থেকে পপওভার ট্রিগার করতে চান <div>
বা অক্ষম উপাদানটির উপর <span>
ওভাররাইড করতে চান৷pointer-events
অক্ষম পপওভার ট্রিগারগুলির জন্য, আপনি পছন্দ করতে পারেন data-trigger="hover"
যাতে পপওভারটি আপনার ব্যবহারকারীদের কাছে তাত্ক্ষণিক ভিজ্যুয়াল প্রতিক্রিয়া হিসাবে উপস্থিত হয় কারণ তারা একটি অক্ষম উপাদানে ক্লিক করার আশা নাও করতে পারে৷
<span class="d-inline-block" data-toggle="popover" data-content="Disabled popover">
<button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Disabled button</button>
</span>
ব্যবহার
জাভাস্ক্রিপ্টের মাধ্যমে পপওভার সক্ষম করুন:
$('#example').popover(options)
GPU ত্বরণ
GPU ত্বরণ এবং একটি পরিবর্তিত সিস্টেম DPI এর কারণে Windows 10 ডিভাইসে পপওভারগুলি কখনও কখনও ঝাপসা দেখায়। v4-এ এর জন্য সমাধান হল আপনার পপভারগুলিতে প্রয়োজন অনুযায়ী GPU ত্বরণকে অক্ষম করা।
প্রস্তাবিত সংশোধন:
Popper.Defaults.modifiers.computeStyle.gpuAcceleration = !(window.devicePixelRatio < 1.5 && /Win/.test(navigator.platform))
কীবোর্ড এবং সহায়ক প্রযুক্তি ব্যবহারকারীদের জন্য পপওভার কাজ করে
কীবোর্ড ব্যবহারকারীদের আপনার পপওভার সক্রিয় করার অনুমতি দেওয়ার জন্য, আপনাকে শুধুমাত্র সেগুলিকে এইচটিএমএল উপাদানগুলিতে যুক্ত করা উচিত যা ঐতিহ্যগতভাবে কীবোর্ড-ফোকাসযোগ্য এবং ইন্টারেক্টিভ (যেমন লিঙ্ক বা ফর্ম নিয়ন্ত্রণ)। যদিও স্বেচ্ছাচারী HTML উপাদানগুলি (যেমন <span>
s) অ্যাট্রিবিউট যোগ করে ফোকাসযোগ্য করা যেতে পারে tabindex="0"
, এটি কীবোর্ড ব্যবহারকারীদের জন্য অ-ইন্টারেক্টিভ উপাদানগুলিতে সম্ভাব্য বিরক্তিকর এবং বিভ্রান্তিকর ট্যাব স্টপ যোগ করবে এবং বেশিরভাগ সহায়ক প্রযুক্তি বর্তমানে এই পরিস্থিতিতে পপওভারের বিষয়বস্তু ঘোষণা করে না। . অতিরিক্তভাবে, আপনার পপভারের জন্য ট্রিগার হিসাবে সম্পূর্ণরূপে নির্ভর করবেন না hover
, কারণ এটি কীবোর্ড ব্যবহারকারীদের জন্য ট্রিগার করা অসম্ভব করে তুলবে।
আপনি বিকল্পের সাথে পপওভারে সমৃদ্ধ, স্ট্রাকচার্ড HTML সন্নিবেশ করতে পারেন html
, আমরা দৃঢ়ভাবে সুপারিশ করি যে আপনি অতিরিক্ত পরিমাণে সামগ্রী যোগ করা এড়ান। পপভারগুলি বর্তমানে যেভাবে কাজ করে তা হল, একবার প্রদর্শিত হলে, তাদের বিষয়বস্তুটি aria-describedby
বৈশিষ্ট্যের সাথে ট্রিগার উপাদানের সাথে সংযুক্ত থাকে। ফলস্বরূপ, পপওভারের সম্পূর্ণ বিষয়বস্তু একটি দীর্ঘ, নিরবচ্ছিন্ন স্ট্রীম হিসাবে সহায়ক প্রযুক্তি ব্যবহারকারীদের কাছে ঘোষণা করা হবে।
উপরন্তু, আপনার পপওভারে ইন্টারেক্টিভ কন্ট্রোল (যেমন ফর্ম উপাদান বা লিঙ্ক) অন্তর্ভুক্ত করা সম্ভব হলেও (এই উপাদানগুলিকে whiteList
বা অনুমোদিত বৈশিষ্ট্য এবং ট্যাগগুলিতে যোগ করে), সচেতন থাকুন যে বর্তমানে পপওভার কীবোর্ড ফোকাস অর্ডার পরিচালনা করে না। যখন একজন কীবোর্ড ব্যবহারকারী একটি পপওভার খোলে, তখন ফোকাস ট্রিগারিং এলিমেন্টের উপর থাকে এবং পপওভার সাধারণত ডকুমেন্টের কাঠামোতে ট্রিগারটিকে অবিলম্বে অনুসরণ করে না, তাই এগিয়ে চলা/চাপানোর কোনো নিশ্চয়তা নেইTABএকটি কীবোর্ড ব্যবহারকারীকে পপওভারে নিয়ে যাবে। সংক্ষেপে, একটি পপওভারে কেবল ইন্টারেক্টিভ নিয়ন্ত্রণ যোগ করলে এই নিয়ন্ত্রণগুলি কীবোর্ড ব্যবহারকারী এবং সহায়ক প্রযুক্তির ব্যবহারকারীদের জন্য অগম্য/অব্যবহারযোগ্য করে তুলতে পারে, অথবা অন্ততপক্ষে একটি অযৌক্তিক সামগ্রিক ফোকাস অর্ডার তৈরি করতে পারে। এই ক্ষেত্রে, পরিবর্তে একটি মডেল ডায়ালগ ব্যবহার বিবেচনা করুন।
অপশন
বিকল্পগুলি ডেটা অ্যাট্রিবিউট বা জাভাস্ক্রিপ্টের মাধ্যমে পাস করা যেতে পারে। ডেটা অ্যাট্রিবিউটের জন্য, বিকল্পের নাম যোগ করুন data-
, যেমনটি data-animation=""
।
sanitize
,
sanitizeFn
এবং
whiteList
বিকল্পগুলি ডেটা বৈশিষ্ট্যগুলি ব্যবহার করে সরবরাহ করা যাবে না।
নাম | টাইপ | ডিফল্ট | বর্ণনা |
---|---|---|---|
অ্যানিমেশন | বুলিয়ান | সত্য | পপওভারে একটি CSS ফেইড ট্রানজিশন প্রয়োগ করুন |
ধারক | স্ট্রিং | উপাদান | মিথ্যা | মিথ্যা | একটি নির্দিষ্ট উপাদানের সাথে পপওভার যুক্ত করে। উদাহরণ: |
বিষয়বস্তু | স্ট্রিং | উপাদান | ফাংশন | ' |
যদি একটি ফাংশন দেওয়া হয়, এটিকে |
বিলম্ব | সংখ্যা | বস্তু | 0 | পপওভার (ms) দেখানো এবং লুকানো বিলম্ব - ম্যানুয়াল ট্রিগার প্রকারে প্রযোজ্য নয় যদি একটি নম্বর সরবরাহ করা হয়, বিলম্ব লুকান/দেখানো উভয় ক্ষেত্রেই প্রয়োগ করা হয় বস্তুর গঠন হল: |
html | বুলিয়ান | মিথ্যা | পপওভারে HTML ঢোকান। মিথ্যা হলে, text DOM-এ বিষয়বস্তু সন্নিবেশ করতে jQuery-এর পদ্ধতি ব্যবহার করা হবে। আপনি যদি XSS আক্রমণ সম্পর্কে চিন্তিত হন তবে পাঠ্য ব্যবহার করুন৷ |
বসানো | স্ট্রিং | ফাংশন | 'ঠিক' | কিভাবে পপওভার অবস্থান করতে হয় - অটো | শীর্ষ | নীচে | বাম | অধিকার প্লেসমেন্ট নির্ধারণ করতে যখন একটি ফাংশন ব্যবহার করা হয়, তখন এটিকে প্রথম আর্গুমেন্ট হিসাবে পপওভার DOM নোড এবং দ্বিতীয় হিসাবে ট্রিগারিং উপাদান DOM নোডকে বলা হয়। |
নির্বাচক | স্ট্রিং | মিথ্যা | মিথ্যা | একটি নির্বাচক প্রদান করা হলে, পপওভার অবজেক্টগুলি নির্দিষ্ট লক্ষ্যগুলিতে অর্পণ করা হবে৷ অনুশীলনে, এটি ডাইনামিক এইচটিএমএল কন্টেন্টকে পপওভার যোগ করতে সক্ষম করতে ব্যবহৃত হয়। এটি এবং একটি তথ্যপূর্ণ উদাহরণ দেখুন । |
টেমপ্লেট | স্ট্রিং | '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' |
পপওভার তৈরি করার সময় ব্যবহার করার জন্য বেস HTML। পপওভার এর পপওভার এর
সবচেয়ে বাইরের মোড়ক উপাদান |
শিরোনাম | স্ট্রিং | উপাদান | ফাংশন | ' |
যদি একটি ফাংশন দেওয়া হয়, এটিকে |
ট্রিগার | স্ট্রিং | 'ক্লিক' | কিভাবে পপওভার ট্রিগার হয় - ক্লিক করুন | হোভার | ফোকাস | ম্যানুয়াল আপনি একাধিক ট্রিগার পাস করতে পারেন; একটি স্থান দিয়ে তাদের আলাদা করুন। manual অন্য কোন ট্রিগার সঙ্গে মিলিত করা যাবে না. |
অফসেট | সংখ্যা | স্ট্রিং | 0 | এর টার্গেটের তুলনায় পপওভার অফসেট। আরও তথ্যের জন্য পপারের অফসেট ডক্স দেখুন । |
ফলব্যাক প্লেসমেন্ট | স্ট্রিং | অ্যারে | 'উল্টানো' | পপার ফলব্যাকে কোন অবস্থান ব্যবহার করবে তা নির্দিষ্ট করার অনুমতি দিন। আরও তথ্যের জন্য পপারের আচরণের ডক্স দেখুন |
কাস্টম ক্লাস | স্ট্রিং | ফাংশন | ' | পপওভারে ক্লাস যোগ করুন যখন এটি দেখানো হয়। মনে রাখবেন যে এই ক্লাসগুলি টেমপ্লেটে নির্দিষ্ট করা যেকোন ক্লাস ছাড়াও যোগ করা হবে। একাধিক ক্লাস যোগ করতে, তাদের স্পেস দিয়ে আলাদা করুন: আপনি এমন একটি ফাংশনও পাস করতে পারেন যা অতিরিক্ত শ্রেণির নাম সমন্বিত একটি একক স্ট্রিং প্রদান করবে। |
সীমানা | স্ট্রিং | উপাদান | 'স্ক্রোল প্যারেন্ট' | পপওভারের ওভারফ্লো সীমাবদ্ধতা। 'viewport' , 'window' , 'scrollParent' , বা একটি HTMLElement রেফারেন্স (শুধুমাত্র জাভাস্ক্রিপ্ট) এর মান গ্রহণ করে । আরও তথ্যের জন্য পপারের প্রতিরোধ ওভারফ্লো ডক্স দেখুন । |
পরিষ্কার | বুলিয়ান | সত্য | স্যানিটাইজেশন সক্ষম বা অক্ষম করুন। সক্রিয় হলে 'template' , 'content' এবং 'title' বিকল্পগুলি স্যানিটাইজ করা হবে। আমাদের জাভাস্ক্রিপ্ট ডকুমেন্টেশনে স্যানিটাইজার বিভাগটি দেখুন । |
সাদা তালিকা | বস্তু | ডিফল্ট মান | বস্তু যা অনুমোদিত বৈশিষ্ট্য এবং ট্যাগ ধারণ করে |
sanitizeFn | শূন্য | ফাংশন | শূন্য | এখানে আপনি আপনার নিজস্ব স্যানিটাইজ ফাংশন সরবরাহ করতে পারেন। আপনি স্যানিটাইজেশন সঞ্চালনের জন্য একটি ডেডিকেটেড লাইব্রেরি ব্যবহার করতে পছন্দ করলে এটি কার্যকর হতে পারে। |
popperConfig | শূন্য | বস্তু | শূন্য | বুটস্ট্র্যাপের ডিফল্ট পপার কনফিগারেশন পরিবর্তন করতে, পপারের কনফিগারেশন দেখুন |
পৃথক পপোভারের জন্য ডেটা বৈশিষ্ট্য
পৃথক পপোভারের বিকল্পগুলি বিকল্পভাবে ডেটা অ্যাট্রিবিউট ব্যবহারের মাধ্যমে নির্দিষ্ট করা যেতে পারে, যেমন উপরে ব্যাখ্যা করা হয়েছে।
পদ্ধতি
অ্যাসিঙ্ক্রোনাস পদ্ধতি এবং রূপান্তর
সমস্ত API পদ্ধতি অসিঙ্ক্রোনাস এবং একটি রূপান্তর শুরু করে । রূপান্তর শুরু হওয়ার সাথে সাথেই কিন্তু এটি শেষ হওয়ার আগেই তারা কলারের কাছে ফিরে আসে । উপরন্তু, একটি রূপান্তরকারী উপাদানের উপর একটি পদ্ধতি কল উপেক্ষা করা হবে ।
$().popover(options)
একটি উপাদান সংগ্রহের জন্য পপওভার শুরু করে।
.popover('show')
একটি উপাদানের পপওভার প্রকাশ করে। পপওভার আসলে দেখানোর আগে (অর্থাৎ shown.bs.popover
ঘটনা ঘটার আগে) কলারের কাছে ফিরে আসে। এটি পপওভারের একটি "ম্যানুয়াল" ট্রিগারিং হিসাবে বিবেচিত হয়। Popovers যাদের শিরোনাম এবং বিষয়বস্তু উভয়ই শূন্য-দৈর্ঘ্যের হয় তা কখনই প্রদর্শিত হয় না।
$('#element').popover('show')
.popover('hide')
একটি উপাদানের পপওভার লুকিয়ে রাখে। পপওভারটি আসলে লুকানো হওয়ার আগে (অর্থাৎ hidden.bs.popover
ঘটনা ঘটার আগে) কলারের কাছে ফিরে আসে। এটি পপওভারের একটি "ম্যানুয়াল" ট্রিগারিং হিসাবে বিবেচিত হয়।
$('#element').popover('hide')
.popover('toggle')
একটি উপাদানের পপওভার টগল করে। পপওভারটি আসলে দেখানো বা লুকানোর আগে (অর্থাৎ ঘটনা ঘটার আগে) কলারের কাছেshown.bs.popover
ফিরে আসে hidden.bs.popover
। এটি পপওভারের একটি "ম্যানুয়াল" ট্রিগারিং হিসাবে বিবেচিত হয়।
$('#element').popover('toggle')
.popover('dispose')
একটি উপাদানের পপওভার লুকায় এবং ধ্বংস করে। ডেলিগেশন ব্যবহার করে পপোভার (যা বিকল্প ব্যবহার করেselector
তৈরি করা হয় ) বংশধর ট্রিগার উপাদানগুলিতে পৃথকভাবে ধ্বংস করা যাবে না।
$('#element').popover('dispose')
.popover('enable')
একটি উপাদানের পপওভার দেখানোর ক্ষমতা দেয়। Popovers ডিফল্টরূপে সক্রিয় করা হয়.
$('#element').popover('enable')
.popover('disable')
একটি উপাদানের পপওভার দেখানোর ক্ষমতা সরিয়ে দেয়। পপওভার শুধুমাত্র দেখাতে সক্ষম হবে যদি এটি পুনরায় সক্রিয় করা হয়।
$('#element').popover('disable')
.popover('toggleEnabled')
একটি উপাদানের পপওভার দেখানো বা লুকানোর ক্ষমতা টগল করে।
$('#element').popover('toggleEnabled')
.popover('update')
একটি উপাদানের পপওভারের অবস্থান আপডেট করে।
$('#element').popover('update')
ঘটনা
ইভেন্টের ধরণ | বর্ণনা |
---|---|
show.bs.popover | এই ইভেন্টটি অবিলম্বে ফায়ার করে যখন show ইনস্ট্যান্স পদ্ধতিটি কল করা হয়। |
দেখানো.বিএস.পপওভার | পপওভারটি ব্যবহারকারীর কাছে দৃশ্যমান হয়ে গেলে এই ইভেন্টটি বরখাস্ত করা হয় (সিএসএস রূপান্তর সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে)। |
hide.bs.popover | এই ইভেন্টটি অবিলম্বে বহিস্কার করা হয় যখন hide উদাহরণ পদ্ধতিটি কল করা হয়। |
hidden.bs.popover | পপওভার ব্যবহারকারীর কাছ থেকে লুকানো শেষ হলে এই ইভেন্টটি বরখাস্ত করা হয় (সিএসএস রূপান্তর সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে)। |
inserted.bs.popover | show.bs.popover DOM-এ পপওভার টেমপ্লেট যোগ করা হলে ইভেন্টের পরে এই ইভেন্টটি বরখাস্ত করা হয় । |
$('#myPopover').on('hidden.bs.popover', function () {
// do something...
})