تلميحات
وثائق وأمثلة لإضافة تلميحات أدوات Bootstrap مخصصة مع CSS و JavaScript باستخدام CSS3 للرسوم المتحركة وسمات البيانات لتخزين العنوان المحلي.
ملخص
أشياء يجب معرفتها عند استخدام البرنامج المساعد لتلميح الأدوات:
- تعتمد تلميحات الأدوات على مكتبة الطرف الثالث Popper.js لتحديد المواقع. يجب عليك تضمين popper.min.js قبل bootstrap.js أو استخدام
bootstrap.bundle.min.js
/bootstrap.bundle.js
الذي يحتوي على Popper.js حتى تعمل التلميحات! - إذا كنت تقوم ببناء JavaScript من المصدر ، فهذا يتطلب
util.js
. - يتم الاشتراك في تلميحات الأدوات لأسباب تتعلق بالأداء ، لذا يجب عليك تهيئتها بنفسك .
- لا يتم أبدًا عرض تلميحات الأدوات ذات العناوين ذات الطول الصفري.
- حدد
container: 'body'
لتجنب مشاكل العرض في المكونات الأكثر تعقيدًا (مثل مجموعات الإدخال ومجموعات الأزرار وما إلى ذلك). - تشغيل تلميحات الأدوات على العناصر المخفية لن يعمل.
- يجب تشغيل تلميحات الأدوات
.disabled
أوdisabled
العناصر على عنصر غلاف. - عند التشغيل من ارتباطات تشعبية تمتد عبر عدة أسطر ، سيتم توسيط تلميحات الأدوات. استخدم
white-space: nowrap;
على الخاص بك<a>
لتجنب هذا السلوك. - يجب إخفاء تلميحات الأدوات قبل إزالة العناصر المقابلة لها من DOM.
- يمكن تشغيل تلميحات الأدوات بفضل عنصر داخل ظل DOM.
يعتمد تأثير الرسوم المتحركة لهذا المكون على prefers-reduced-motion
الاستعلام عن الوسائط. راجع قسم الحركة المخفضة في وثائق إمكانية الوصول الخاصة بنا .
حصلت على كل هذا؟ رائع ، دعنا نرى كيف يعملون مع بعض الأمثلة.
مثال: قم بتمكين التلميحات في كل مكان
تتمثل إحدى طرق تهيئة جميع تلميحات الأدوات على الصفحة في تحديدها حسب data-toggle
السمة الخاصة بها:
أمثلة
مرر مؤشر الماوس فوق الروابط أدناه لمشاهدة تلميحات الأدوات:
بنطلون ضيق من المستوى التالي ربما لم تسمع به من قبل. كشك تصوير لحية الدنيم الخام Letterpress حقيبة ساعي نباتية stumptown. سيتان من المزرعة إلى المائدة ، ملابس الكينوا الأمريكية ذات الثماني بتات من ماكسيني ، تحتوي على شامبراي من الفينيل تيري ريتشاردسون. Beard stumptown ، بالأزرار بانه مي لومو thundercats. التوفو وقود الديزل الحيوي ويليامسبورغ مارفا ، أربعة شامبراي نباتي مطهر من لوكو مكسويني. حرفي مثير للسخرية حقًا أيا كان keytar ، البنوك من المزرعة إلى المائدة ، أوستن تويتر ، تتعامل مع القهوة ذات الأصل الفردي الخالي من الدنيم.
قم بالتمرير فوق الأزرار أدناه لمشاهدة اتجاهات تلميحات الأدوات الأربعة: أعلى ، ويمين ، وأسفل ، ويسار.
وبعد إضافة HTML المخصص:
إستعمال
ينشئ المكون الإضافي لتلميحات الأدوات محتوى وترميزًا عند الطلب ، ويضع بشكل افتراضي تلميحات الأدوات بعد عنصر المشغل الخاص بهم.
تشغيل تلميح الأداة عبر JavaScript:
تجاوز auto
وscroll
يحاول موضع تلميح الأدوات أن يتغير تلقائيًا عندما يكون للحاوية الرئيسية overflow: auto
أو overflow: scroll
تشبهنا .table-responsive
، لكنها تحافظ على موضع الموضع الأصلي. لحل المشكلة ، اضبط boundary
الخيار على أي شيء بخلاف القيمة الافتراضية 'scrollParent'
، مثل 'window'
:
وضع علامة على
الترميز المطلوب لتلميح الأداة هو data
سمة فقط وعلى title
عنصر HTML الذي ترغب في الحصول على تلميح أداة. الترميز الذي تم إنشاؤه لتلميح الأداة بسيط نوعًا ما ، على الرغم من أنه يتطلب موضعًا (افتراضيًا ، يتم تعيينه top
بواسطة المكون الإضافي).
جعل تلميحات الأدوات تعمل لمستخدمي لوحة المفاتيح والتقنيات المساعدة
يجب عليك فقط إضافة تلميحات الأدوات إلى عناصر HTML التي تكون تفاعلية وقابلة للتركيز على لوحة المفاتيح تقليديًا (مثل الروابط أو عناصر التحكم في النموذج). على الرغم من أنه يمكن جعل عناصر HTML التعسفية (مثل العناصر <span>
) قابلة للتركيز عن طريق إضافة tabindex="0"
السمة ، إلا أن هذا سيضيف علامات تبويب مزعجة ومربكة على العناصر غير التفاعلية لمستخدمي لوحة المفاتيح. بالإضافة إلى ذلك ، لا تعلن معظم التقنيات المساعدة حاليًا عن تلميح الأداة في هذه الحالة.
بالإضافة إلى ذلك ، لا تعتمد فقط hover
كمحفز لتلميح الأدوات الخاص بك ، لأن هذا سيجعل من المستحيل تشغيل تلميحات الأدوات الخاصة بك لمستخدمي لوحة المفاتيح.
العناصر المعطلة
العناصر التي تحتوي على disabled
السمة ليست تفاعلية ، مما يعني أنه لا يمكن للمستخدمين التركيز عليها أو التمرير فوقها أو النقر فوقها لتشغيل تلميح أداة (أو منبثق). كحل بديل ، سترغب في تشغيل التلميح من غلاف <div>
أو <span>
جعله بشكل مثالي للتركيز على لوحة المفاتيح باستخدام tabindex="0"
وتجاوز pointer-events
العنصر المعطل.
خيارات
يمكن تمرير الخيارات عبر سمات البيانات أو JavaScript. لسمات البيانات ، قم بإلحاق اسم الخيار بـ data-
، كما في data-animation=""
.
اسم | يكتب | تقصير | وصف |
---|---|---|---|
الرسوم المتحركة | قيمة منطقية | حقيقي | تطبيق انتقال الخبو في CSS إلى تلميح الأداة |
وعاء | سلسلة | عنصر | خاطئة | خاطئة | لإلحاق تلميح الأداة بعنصر معين. مثال |
تأخير | رقم | هدف | 0 | التأخير في إظهار تلميح الأداة وإخفائه (بالمللي ثانية) - لا ينطبق على نوع المشغل اليدوي إذا تم توفير رقم ، فسيتم تطبيق التأخير على كل من الإخفاء / العرض هيكل الكائن هو: |
لغة البرمجة | قيمة منطقية | خاطئة | اسمح بتنسيق HTML في تلميح الأداة.
استخدم النص إذا كنت قلقًا بشأن هجمات XSS. |
تحديد مستوى | سلسلة | وظيفة | 'أعلى' | كيفية وضع تلميح الأدوات - تلقائي | أعلى | أسفل | غادر | حقا. عندما يتم استخدام دالة لتحديد الموضع ، يتم استدعاؤها باستخدام عقدة DOM تلميح كأول وسيطة لها وعقدة DOM المشغلة كعقدة ثانية لها. يتم |
محدد | سلسلة | خاطئة | خاطئة | إذا تم توفير محدد ، فسيتم تفويض كائنات تلميح الأدوات إلى الأهداف المحددة. في الممارسة العملية ، يتم استخدام هذا أيضًا لتطبيق تلميحات الأدوات على عناصر DOM المضافة ديناميكيًا ( jQuery.on الدعم). انظر إلى هذا ومثال إعلامي . |
قالب | سلسلة | '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>' |
قاعدة HTML لاستخدامها عند إنشاء التلميح.
يجب أن يحتوي عنصر الغلاف الخارجي على |
لقب | سلسلة | عنصر | وظيفة | " | قيمة العنوان الافتراضية إذا إذا تم توفير وظيفة ، فسيتم استدعاؤها |
اثار | سلسلة | "تحوم التركيز" | كيف يتم تشغيل التلميح - انقر فوق | تحوم | التركيز | كتيب. يمكنك تمرير عدة مشغلات ؛ افصلهم بمسافة.
|
عوض | رقم | سلسلة | 0 | إزاحة تلميح الأداة بالنسبة إلى هدفه. لمزيد من المعلومات ، راجع مستندات تعويض Popper.js . |
احتياطي | سلسلة | مجموعة مصفوفة | 'يواجه' | السماح بتحديد الموضع الذي سيستخدمه بوبر عند الرجوع. لمزيد من المعلومات ، راجع مستندات سلوك Popper.js |
الحدود | سلسلة | عنصر | "scrollParent" | تجاوز حدود القيد لتلميح الأداة. يقبل قيم 'viewport' ، 'window' أو 'scrollParent' ، أو مرجع HTMLElement (JavaScript فقط). لمزيد من المعلومات ، راجع مستندات منع Popper.js 's PreventionOverflow . |
سمات البيانات لتلميحات الأدوات الفردية
يمكن بدلاً من ذلك تحديد خيارات تلميحات الأدوات الفردية من خلال استخدام سمات البيانات ، كما هو موضح أعلاه.
طُرق
الطرق غير المتزامنة والانتقالات
جميع طرق API غير متزامنة وتبدأ في الانتقال . يعودون إلى المتصل بمجرد بدء الانتقال ولكن قبل أن ينتهي . بالإضافة إلى ذلك ، سيتم تجاهل استدعاء طريقة على مكون انتقالي .
راجع وثائق JavaScript الخاصة بنا للحصول على مزيد من المعلومات .
$().tooltip(options)
يرفق معالج تلميح بمجموعة عنصر.
.tooltip('show')
يكشف عن تلميح أداة عنصر. يعود إلى المتصل قبل عرض التلميح بالفعل (أي قبل shown.bs.tooltip
وقوع الحدث). يعتبر هذا بمثابة تشغيل "يدوي" للتلميح. لا يتم أبدًا عرض تلميحات الأدوات ذات العناوين ذات الطول الصفري.
.tooltip('hide')
يخفي تلميح أداة عنصر. يعود إلى المتصل قبل إخفاء التلميح (أي قبل hidden.bs.tooltip
وقوع الحدث). يعتبر هذا بمثابة تشغيل "يدوي" للتلميح.
.tooltip('toggle')
يبدل تلميح أداة عنصر. يعود إلى المتصل قبل إظهار التلميح أو إخفاؤه بالفعل (أي قبل وقوع الحدث shown.bs.tooltip
أو ). hidden.bs.tooltip
يعتبر هذا بمثابة تشغيل "يدوي" للتلميح.
.tooltip('dispose')
يخفي تلميح عنصر ويتلفه. لا يمكن إتلاف تلميحات الأدوات التي تستخدم التفويض (والتي يتم إنشاؤها باستخدام الخيار ) بشكل فردي في عناصر المشغل التابعة.selector
.tooltip('enable')
يمنح تلميح أداة عنصر القدرة على الظهور. يتم تمكين تلميحات الأدوات بشكل افتراضي.
.tooltip('disable')
يزيل إمكانية عرض تلميح أداة عنصر ما. لن يتم عرض التلميح إلا إذا تمت إعادة تمكينه.
.tooltip('toggleEnabled')
لتبديل إمكانية إظهار تلميح أداة عنصر ما أو إخفاؤه.
.tooltip('update')
يحدّث موضع تلميح أداة العنصر.
الأحداث
نوع الحدث | وصف |
---|---|
show.bs.tooltip | يتم تشغيل هذا الحدث فورًا عند show استدعاء أسلوب المثيل. |
معروض .bs.tooltip | يتم تشغيل هذا الحدث عندما يصبح التلميح مرئيًا للمستخدم (سينتظر حتى تكتمل انتقالات CSS). |
hide.bs.tooltip | يتم تشغيل هذا الحدث فورًا عند hide استدعاء أسلوب المثيل. |
hidden.bs.tooltip | يتم تشغيل هذا الحدث عند انتهاء إخفاء التلميح عن المستخدم (سينتظر حتى تكتمل انتقالات CSS). |
المدرجة. bs.tooltip | يتم تشغيل هذا الحدث بعد show.bs.tooltip الحدث عند إضافة قالب تلميح الأدوات إلى DOM. |