Note that there are some explanatory texts on larger screens.

plurals
  1. PONative browser tooltips showing over jQuery Tipsy tooltips in IE
    primarykey
    data
    text
    <p>I'm hoping someone can help.</p> <p>I've implemented the jQuery Tipsy plugin and it works fine in all browsers apart from IE. Currently, on first load of the page in IE, both the tipsy tooltips AND the native browser tooltips are displaying. If you then refresh the page, only the tipsy ones will show.</p> <p>I've tried downloading the script that the demo page uses instead (as the problem doesn't seem to happen there) - however my tooltips then appear off the screen instead.</p> <p>Has anyone else experienced this problem and if so, how did you solve it? Or if anyone knows how to remove the native tooltips it would be greatly appreciated.</p> <p>The JS is below...(downloaded from <a href="http://onehackoranother.com/projects/jquery/tipsy/" rel="nofollow">http://onehackoranother.com/projects/jquery/tipsy/</a>)</p> <pre><code>(function($) { $.fn.tipsy = function(options) { options = $.extend({}, $.fn.tipsy.defaults, options); return this.each(function() { var opts = $.fn.tipsy.elementOptions(this, options); $(this).hover(function() { $.data(this, 'cancel.tipsy', true); var tip = $.data(this, 'active.tipsy'); if (!tip) { tip = $('&lt;div class="tipsy"&gt;&lt;div class="tipsy-inner"/&gt;&lt;/div&gt;'); tip.css({position: 'absolute', zIndex: 100000}); $.data(this, 'active.tipsy', tip); } if ($(this).attr('title') || typeof($(this).attr('original-title')) != 'string') { $(this).attr('original-title', $(this).attr('title') || '').removeAttr('title'); } var title; if (typeof opts.title == 'string') { title = $(this).attr(opts.title == 'title' ? 'original-title' : opts.title); } else if (typeof opts.title == 'function') { title = opts.title.call(this); } tip.find('.tipsy-inner')[opts.html ? 'html' : 'text'](title || opts.fallback); var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height: this.offsetHeight}); tip.get(0).className = 'tipsy'; // reset classname in case of dynamic gravity tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body); var actualWidth = tip[0].offsetWidth, actualHeight = tip[0].offsetHeight; var gravity = (typeof opts.gravity == 'function') ? opts.gravity.call(this) : opts.gravity; switch (gravity.charAt(0)) { case 'n': tip.css({top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-north'); break; case 's': tip.css({top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-south'); break; case 'e': tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}).addClass('tipsy-east'); break; case 'w': tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}).addClass('tipsy-west'); break; } if (opts.fade) { tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.8}); } else { tip.css({visibility: 'visible'}); } }, function() { $.data(this, 'cancel.tipsy', false); var self = this; setTimeout(function() { if ($.data(this, 'cancel.tipsy')) return; var tip = $.data(self, 'active.tipsy'); if (opts.fade) { tip.stop().fadeOut(function() { $(this).remove(); }); } else { tip.remove(); } }, 100); }); }); }; // Overwrite this method to provide options on a per-element basis. // For example, you could store the gravity in a 'tipsy-gravity' attribute: // return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' }); // (remember - do not modify 'options' in place!) $.fn.tipsy.elementOptions = function(ele, options) { return $.metadata ? $.extend({}, options, $(ele).metadata()) : options; }; $.fn.tipsy.defaults = { fade: false, fallback: '', gravity: 'n', html: false, title: 'title' }; $.fn.tipsy.autoNS = function() { return $(this).offset().top &gt; ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n'; }; $.fn.tipsy.autoWE = function() { return $(this).offset().left &gt; ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w'; }; </code></pre> <p>})(jQuery);</p> <p>Thanks in advance.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload