Source

ٹول ٹپس

سی ایس ایس اور جاوا اسکرپٹ کے ساتھ حسب ضرورت بوٹسٹریپ ٹول ٹِپس کو شامل کرنے کے لیے دستاویزات اور مثالیں CSS3 کا استعمال کرتے ہوئے اینیمیشنز اور مقامی ٹائٹل اسٹوریج کے لیے ڈیٹا-انتسابات۔

جائزہ

ٹول ٹپ پلگ ان کا استعمال کرتے وقت جاننے کی چیزیں:

  • ٹول ٹپس پوزیشننگ کے لیے 3rd پارٹی لائبریری Popper.js پر انحصار کرتے ہیں ۔ ٹول ٹپس کے کام کرنے کے لیے آپ کو bootstrap.js سے پہلے popper.min.js شامل کرنا چاہیے یا استعمال کریں bootstrap.bundle.min.js/ bootstrap.bundle.jsجس میں Popper.js شامل ہو!
  • اگر آپ ہمارا جاوا اسکرپٹ ماخذ سے بنا رہے ہیں، تو اس کی ضرورت ہےutil.js ۔
  • ٹول ٹپس کارکردگی کی وجوہات کی بناء پر آپٹ ان ہوتی ہیں، لہذا آپ کو خود ان کی ابتدا کرنی چاہیے ۔
  • زیرو لینتھ ٹائٹلز والے ٹول ٹپس کبھی ظاہر نہیں ہوتے ہیں۔
  • container: 'body'مزید پیچیدہ اجزاء (جیسے ہمارے ان پٹ گروپس، بٹن گروپس وغیرہ) میں رینڈرنگ کے مسائل سے بچنے کے لیے وضاحت کریں۔
  • پوشیدہ عناصر پر ٹول ٹپس کو متحرک کرنا کام نہیں کرے گا۔
  • ٹول ٹپس .disabledیا disabledعناصر کو ریپر عنصر پر متحرک کیا جانا چاہیے۔
  • متعدد لائنوں پر پھیلے ہوئے ہائپر لنکس سے متحرک ہونے پر، ٹول ٹِپس کو مرکز میں رکھا جائے گا۔ اس رویے سے بچنے کے لیے white-space: nowrap;اپنے s پر استعمال کریں ۔<a>
  • ٹول ٹپس کو چھپایا جانا چاہیے اس سے پہلے کہ ان کے متعلقہ عناصر کو DOM سے ہٹا دیا جائے۔

وہ سب مل گیا؟ بہت اچھا، آئیے دیکھتے ہیں کہ وہ کچھ مثالوں کے ساتھ کیسے کام کرتے ہیں۔

مثال: ٹول ٹپس کو ہر جگہ فعال کریں۔

کسی صفحے پر تمام ٹول ٹپس کو شروع کرنے کا ایک طریقہ یہ ہوگا کہ انہیں ان کی data-toggleصفت کے مطابق منتخب کیا جائے:

$(function () {
  $('[data-toggle="tooltip"]').tooltip()
})

مثالیں

ٹول ٹپس دیکھنے کے لیے نیچے دیے گئے لنکس پر ہوور کریں:

ٹائیٹ پتلون اگلے درجے کی کیفیہ آپ نے شاید ان کے بارے میں نہیں سنا ہوگا۔ فوٹو بوتھ داڑھی خام ڈینم لیٹرپریس ویگن میسنجر بیگ اسٹمپ ٹاؤن۔ فارم ٹو ٹیبل سیٹن، میکسوینی کے فکسی پائیدار کوئنو 8 بٹ امریکی ملبوسات میں ٹیری رچرڈسن ونائل چیمبرے ہے۔ بیئرڈ اسٹمپ ٹاؤن، کارڈیگنز بنہ می لومو تھنڈرکیٹس۔ ٹوفو بائیو ڈیزل ولیمزبرگ مارفا، چار لوکو میکسوینی کا کلینز ویگن چیمبرے۔ واقعی ایک ستم ظریفی کاریگر جو بھی کیٹار، سینسٹر فارم ٹو ٹیبل بینکسی آسٹن ٹویٹر ہینڈل فریگن کریڈ را ڈینم سنگل اوریجن کافی وائرل۔

ٹول ٹپس کی چار سمتیں دیکھنے کے لیے نیچے کے بٹنوں پر ہوور کریں: اوپر، دائیں، نیچے اور بائیں۔

<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
  Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right">
  Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">
  Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="Tooltip on left">
  Tooltip on left
</button>

اور حسب ضرورت HTML کے ساتھ شامل کیا گیا:

<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
  Tooltip with HTML
</button>

استعمال

ٹول ٹِپ پلگ ان ڈیمانڈ پر مواد اور مارک اپ تیار کرتا ہے، اور بطور ڈیفالٹ ٹول ٹِپس کو ان کے ٹرگر عنصر کے بعد رکھتا ہے۔

جاوا اسکرپٹ کے ذریعے ٹول ٹپ کو متحرک کریں:

$('#example').tooltip(options)
اوور فلو autoاورscroll

ٹول ٹِپ پوزیشن خود بخود تبدیل ہونے کی کوشش کرتی ہے جب کسی پیرنٹ کنٹینر میں ہمارا ہوتا ہے overflow: autoیا اس کو پسند کرتا ہے، لیکن پھر بھی اصل پلیسمنٹ کی پوزیشننگ کو برقرار رکھتا ہے۔ حل کرنے کے لیے، ڈیفالٹ ویلیو کے علاوہ کسی بھی چیز پر آپشن سیٹ کریں ، جیسے :overflow: scroll.table-responsiveboundary'scrollParent''window'

$('#example').tooltip({ boundary: 'window' })

مارک اپ

ٹول ٹِپ کے لیے مطلوبہ مارک اپ صرف ایک dataوصف ہے اور titleHTML عنصر پر آپ ٹول ٹِپ رکھنا چاہتے ہیں۔ ٹول ٹپ کا تیار کردہ مارک اپ بہت آسان ہے، حالانکہ اس کے لیے پوزیشن کی ضرورت ہوتی ہے (بطور ڈیفالٹ، topپلگ ان کے ذریعے سیٹ کیا جاتا ہے)۔

ٹول ٹپس بنانا کی بورڈ اور معاون ٹیکنالوجی کے صارفین کے لیے کام کرتا ہے۔

آپ کو صرف HTML عناصر میں ٹول ٹِپس شامل کرنے چاہئیں جو روایتی طور پر کی بورڈ پر فوکس ایبل اور انٹرایکٹو ہوتے ہیں (جیسے لنکس یا فارم کنٹرول)۔ اگرچہ صوابدیدی HTML عناصر (جیسے <span>s) کو tabindex="0"وصف شامل کر کے قابل توجہ بنایا جا سکتا ہے، لیکن اس سے کی بورڈ صارفین کے لیے غیر متعامل عناصر پر ممکنہ طور پر پریشان کن اور الجھا دینے والے ٹیب اسٹاپس شامل ہو جائیں گے۔ اس کے علاوہ، زیادہ تر معاون ٹیکنالوجیز فی الحال اس صورتحال میں ٹول ٹپ کا اعلان نہیں کرتی ہیں۔

hoverمزید برآں، اپنے ٹول ٹِپ کے محرک کے طور پر مکمل طور پر انحصار نہ کریں، کیونکہ یہ آپ کے ٹول ٹِپس کو کی بورڈ صارفین کے لیے متحرک کرنا ناممکن بنا دے گا۔

<!-- HTML to write -->
<a href="#" data-toggle="tooltip" title="Some tooltip text!">Hover over me</a>

<!-- Generated markup by the plugin -->
<div class="tooltip bs-tooltip-top" role="tooltip">
  <div class="arrow"></div>
  <div class="tooltip-inner">
    Some tooltip text!
  </div>
</div>

غیر فعال عناصر

انتساب والے عناصر disabledمتعامل نہیں ہوتے ہیں، یعنی صارف ٹول ٹپ (یا پاپ اوور) کو متحرک کرنے کے لیے ان پر توجہ مرکوز نہیں کر سکتے، ہوور نہیں کر سکتے یا ان پر کلک نہیں کر سکتے۔ ایک کام کے طور پر، آپ ٹول ٹپ کو ریپر سے متحرک کرنا چاہیں گے <div>یا <span>، مثالی طور پر کی بورڈ کو فوکس کرنے کے قابل بنا کر استعمال کرنا چاہیں گے، اور غیر فعال عنصر tabindex="0"کو اوور رائڈ کرنا چاہیں گے۔pointer-events

<span class="d-inline-block" tabindex="0" data-toggle="tooltip" title="Disabled tooltip">
  <button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Disabled button</button>
</span>

اختیارات

اختیارات کو ڈیٹا انتساب یا JavaScript کے ذریعے منتقل کیا جا سکتا ہے۔ ڈیٹا کی خصوصیات کے لیے، آپشن کا نام شامل کریں data-، جیسا کہ میں data-animation=""۔

نام قسم طے شدہ تفصیل
حرکت پذیری بولین سچ ہے ٹول ٹپ پر سی ایس ایس فیڈ ٹرانزیشن کا اطلاق کریں۔
کنٹینر تار | عنصر | جھوٹا جھوٹا

ٹول ٹپ کو ایک مخصوص عنصر میں شامل کرتا ہے۔ مثال: container: 'body'. یہ آپشن خاص طور پر اس لحاظ سے مفید ہے کہ یہ آپ کو دستاویز کے بہاؤ میں ٹول ٹپ کو محرک عنصر کے قریب رکھنے کی اجازت دیتا ہے - جو ونڈو کا سائز تبدیل کرنے کے دوران ٹول ٹپ کو محرک عنصر سے دور تیرنے سے روکے گا۔

تاخیر نمبر | چیز 0

ٹول ٹپ (ms) دکھانے اور چھپانے میں تاخیر - دستی ٹرگر کی قسم پر لاگو نہیں ہوتا ہے۔

اگر کوئی نمبر فراہم کیا جاتا ہے، تو چھپنے / دکھانے دونوں پر تاخیر کا اطلاق ہوتا ہے۔

آبجیکٹ کی ساخت ہے:delay: { "show": 500, "hide": 100 }

html بولین جھوٹا

ٹول ٹپ میں HTML کی اجازت دیں۔

اگر درست ہے تو، ٹول ٹِپ میں موجود HTML ٹیگز ٹول ٹِپ titleمیں پیش کیے جائیں گے۔ textغلط ہونے کی صورت میں DOM میں مواد داخل کرنے کے لیے jQuery کا طریقہ استعمال کیا جائے گا۔

اگر آپ XSS حملوں کے بارے میں فکر مند ہیں تو متن کا استعمال کریں۔

جگہ کا تعین تار | فنکشن 'اوپر'

ٹول ٹپ کی پوزیشن کیسے لگائیں - آٹو | اوپر | نیچے | بائیں | صحیح
جب autoمخصوص کیا جاتا ہے، یہ ٹول ٹپ کو متحرک طور پر دوبارہ ترتیب دے گا۔

جب کسی فنکشن کو پلیسمنٹ کا تعین کرنے کے لیے استعمال کیا جاتا ہے، تو اسے ٹول ٹِپ DOM نوڈ کے ساتھ اس کی پہلی دلیل کے طور پر اور محرک عنصر DOM نوڈ کو اس کے دوسرے کے طور پر کہا جاتا ہے۔ سیاق و سباق کو thisٹول ٹپ مثال پر سیٹ کیا گیا ہے۔

سلیکٹر تار | جھوٹا جھوٹا اگر ایک سلیکٹر فراہم کیا جاتا ہے تو، ٹول ٹپ آبجیکٹ کو مخصوص اہداف کے حوالے کر دیا جائے گا۔ عملی طور پر، یہ متحرک HTML مواد کو پاپ اوور شامل کرنے کے لیے استعمال کیا جاتا ہے۔ یہ اور ایک معلوماتی مثال دیکھیں ۔
سانچے تار '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>'

ٹول ٹپ بناتے وقت استعمال کرنے کے لیے HTML کی بنیاد رکھیں۔

ٹول ٹِپ titleکو میں داخل کیا جائے گا .tooltip-inner۔

.arrowٹول ٹپ کا تیر بن جائے گا۔

سب سے بیرونی ریپر عنصر میں .tooltipکلاس اور ہونا چاہیے role="tooltip"۔

عنوان تار | عنصر | فنکشن ''

titleاگر انتساب موجود نہیں ہے تو پہلے سے طے شدہ عنوان کی قدر ۔

اگر کوئی فنکشن دیا جاتا ہے، تو اسے اس thisعنصر کے حوالے سے کہا جائے گا جس کے ساتھ ٹول ٹپ منسلک ہے۔

محرک تار 'ہور فوکس'

ٹول ٹپ کو کیسے متحرک کیا جاتا ہے - کلک کریں | ہوور | توجہ مرکوز | دستی آپ متعدد محرکات کو پاس کر سکتے ہیں۔ انہیں ایک جگہ کے ساتھ الگ کریں.

'manual'.tooltip('show')اشارہ کرتا ہے کہ ٹول ٹِپ کو پروگرامی طور پر , .tooltip('hide')اور .tooltip('toggle')طریقوں کے ذریعے متحرک کیا جائے گا ۔ اس قدر کو کسی دوسرے ٹرگر کے ساتھ نہیں ملایا جا سکتا۔

'hover'اپنے طور پر ٹول ٹِپس کا نتیجہ نکلے گا جو کی بورڈ کے ذریعے متحرک نہیں ہوسکتے ہیں، اور صرف اس صورت میں استعمال کیے جائیں گے جب کی بورڈ صارفین کے لیے وہی معلومات پہنچانے کے متبادل طریقے موجود ہوں۔

آفسیٹ نمبر | تار 0 اس کے ہدف کے نسبت ٹول ٹپ کا آفسیٹ۔ مزید معلومات کے لیے Popper.js کے آفسیٹ دستاویزات سے رجوع کریں ۔
فال بیک پلیسمنٹ تار | صف 'پلٹائیں' یہ بتانے کی اجازت دیں کہ Popper فال بیک پر کون سی پوزیشن استعمال کرے گا۔ مزید معلومات کے لیے Popper.js کے رویے کی دستاویزات دیکھیں
حد تار | عنصر 'اسکرول پیرنٹ' ٹول ٹپ کی اوور فلو رکاوٹ کی حد۔ 'viewport', 'window', 'scrollParent', یا HTMLElement حوالہ (صرف JavaScript) کی اقدار کو قبول کرتا ہے ۔ مزید معلومات کے لیے Popper.js کی روک تھام اوور فلو دستاویزات دیکھیں ۔

انفرادی ٹول ٹپس کے لیے ڈیٹا کی خصوصیات

انفرادی ٹول ٹِپس کے لیے اختیارات کو متبادل طور پر ڈیٹا انتساب کے استعمال کے ذریعے بیان کیا جا سکتا ہے، جیسا کہ اوپر بیان کیا گیا ہے۔

طریقے

غیر مطابقت پذیر طریقے اور ٹرانزیشن

تمام API طریقے غیر مطابقت پذیر ہیں اور ایک منتقلی شروع کرتے ہیں ۔ منتقلی شروع ہوتے ہی وہ کال کرنے والے کے پاس واپس آ جاتے ہیں لیکن اس کے ختم ہونے سے پہلے ۔ اس کے علاوہ، منتقلی کے جزو پر میتھڈ کال کو نظر انداز کر دیا جائے گا ۔

مزید معلومات کے لیے ہماری جاوا اسکرپٹ دستاویزات دیکھیں۔

$().tooltip(options)

ایک ٹول ٹِپ ہینڈلر کو عنصر کے مجموعہ سے منسلک کرتا ہے۔

.tooltip('show')

ایک عنصر کے ٹول ٹپ کو ظاہر کرتا ہے۔ ٹول ٹِپ کے حقیقت میں دکھائے جانے سے پہلے کال کرنے والے کے پاس واپس آجاتا ہے (یعنی shown.bs.tooltipواقعہ پیش آنے سے پہلے)۔ اسے ٹول ٹپ کا "دستی" ٹرگرنگ سمجھا جاتا ہے۔ زیرو لینتھ ٹائٹلز والے ٹول ٹپس کبھی ظاہر نہیں ہوتے ہیں۔

$('#element').tooltip('show')

.tooltip('hide')

ایک عنصر کے ٹول ٹپ کو چھپاتا ہے۔ ٹول ٹِپ کے حقیقت میں چھپنے سے پہلے کال کرنے والے کے پاس واپس آجاتا ہے (یعنی hidden.bs.tooltipواقعہ پیش آنے سے پہلے)۔ اسے ٹول ٹپ کا "دستی" ٹرگرنگ سمجھا جاتا ہے۔

$('#element').tooltip('hide')

.tooltip('toggle')

ایک عنصر کے ٹول ٹپ کو ٹوگل کرتا ہے۔ ٹول ٹِپ کے حقیقت میں دکھائے جانے یا چھپنے سے پہلے کال کرنے والے کے پاس واپس آجاتا ہے (یعنی واقعہ shown.bs.tooltipیا hidden.bs.tooltipواقعہ ہونے سے پہلے)۔ اسے ٹول ٹپ کا "دستی" ٹرگرنگ سمجھا جاتا ہے۔

$('#element').tooltip('toggle')

.tooltip('dispose')

کسی عنصر کے ٹول ٹپ کو چھپاتا اور تباہ کرتا ہے۔ ٹول ٹِپس جو ڈیلیگیشن کا استعمال کرتے ہیں (جو آپشن کا استعمال کرتے ہوئے بنائے گئےselector ہیں ) کو نسلی محرک عناصر پر انفرادی طور پر تباہ نہیں کیا جا سکتا۔

$('#element').tooltip('dispose')

.tooltip('enable')

ایک عنصر کے ٹول ٹپ کو دکھانے کی صلاحیت دیتا ہے۔ ٹول ٹپس بطور ڈیفالٹ فعال ہیں۔

$('#element').tooltip('enable')

.tooltip('disable')

کسی عنصر کے ٹول ٹپ کو دکھانے کی صلاحیت کو ہٹاتا ہے۔ ٹول ٹپ صرف اس صورت میں دکھایا جا سکے گا جب اسے دوبارہ فعال کیا جائے۔

$('#element').tooltip('disable')

.tooltip('toggleEnabled')

کسی عنصر کے ٹول ٹپ کو دکھانے یا چھپانے کی صلاحیت کو ٹوگل کرتا ہے۔

$('#element').tooltip('toggleEnabled')

.tooltip('update')

کسی عنصر کے ٹول ٹپ کی پوزیشن کو اپ ڈیٹ کرتا ہے۔

$('#element').tooltip('update')

تقریبات

واقعہ کی قسم تفصیل
show.bs.tooltip یہ واقعہ فوری طور پر فائر ہو جاتا ہے جب showمثال کا طریقہ کہا جاتا ہے۔
show.bs.tooltip یہ ایونٹ اس وقت برطرف ہو جاتا ہے جب ٹول ٹپ صارف کے لیے مرئی ہو جاتی ہے (CSS ٹرانزیشن مکمل ہونے کا انتظار کرے گا)۔
hide.bs.tooltip اس واقعہ کو فوری طور پر برطرف کر دیا جاتا ہے جب hideمثال کے طریقے کو بلایا جاتا ہے۔
hidden.bs.tooltip جب ٹول ٹپ صارف سے پوشیدہ ہو جائے تو یہ ایونٹ فائر کیا جاتا ہے (CSS ٹرانزیشن مکمل ہونے کا انتظار کرے گا)۔
inserted.bs.tooltip یہ ایونٹ اس ایونٹ کے بعد فائر کیا جاتا ہے show.bs.tooltipجب ٹول ٹپ ٹیمپلیٹ کو DOM میں شامل کیا جاتا ہے۔
$('#myTooltip').on('hidden.bs.tooltip', function () {
  // do something…
})