I have been able to get some tool tips to work finally with the following code:
<a href="#" rel="tooltip" title="Tool tip text here">Hover over me</a>
and then
<script> $('[rel=tooltip]').tooltip(); </script>
The problem I'm running into is that it is using jQueryUI tooltips (no arrows, big ugly tooltips) instead of Bootstraps.
What do I need to do to make use of the Bootstrap Tooltips instead of jQueryUI?
As you may know, the Twitter bootstrap tooltips are not accessible (I.E. they are not being read by screen readers).
To create a tooltip, add the data-bs-toggle="tooltip" attribute to an element. Note: Tooltips must be initialized with JavaScript to work.
Tooltips can be enabled via JavaScript — just call the tooltip() Bootstrap method with the id , class or any CSS selector of the target element in your JavaScript code. You can either initialize tooltips individually or all in one go.
How To Create a Tooltip. To create a tooltip, add the data-toggle="tooltip" attribute to an element. Note: Tooltips must be initialized with jQuery: select the specified element and call the tooltip() method.
Both jQuery UI and Bootstrap use tooltip
for the name of the plugin. Use $.widget.bridge
to create a different name for the jQuery UI version and allow the Bootstrap plugin to stay named tooltip (trying to use the noConflict
option on the Bootstrap widget just result in a lot of errors because it does not work properly; that issue has been reported here):
// Resolve name collision between jQuery UI and Twitter Bootstrap $.widget.bridge('uitooltip', $.ui.tooltip);
So the code to make it work:
// Import jQuery UI first <script src="/js/jquery-ui.js"></script> // Resolve name collision between jQuery UI and Twitter Bootstrap $.widget.bridge('uitooltip', $.ui.tooltip); // Then import bootstrap <script src="js/bootstrap.js"></script>
Nice copy paste code that also handles the button conflict:
<script type="application/javascript" src="/js/jquery.js"></script> <script type="application/javascript" src="/js/jquery-ui.js"></script> <script> /*** Handle jQuery plugin naming conflict between jQuery UI and Bootstrap ***/ $.widget.bridge('uibutton', $.ui.button); $.widget.bridge('uitooltip', $.ui.tooltip); </script> <script type="application/javascript" src="/js/bootstrap.js"></script>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With