jQuery ToolTip禁用悬停

时间:2016-02-28 19:52:18

标签: javascript jquery html jquery-plugins jquery-tooltip

嘿,我正在使用下面的代码获取工具提示:

/*
Tipr 2.0.1
Copyright (c) 2015 Tipue
Tipr is released under the MIT License
http://www.tipue.com/tipr
*/
(function($) {
  $.fn.tipr = function(options) {
    var set = $.extend({
      'speed': 200,
      'mode': 'bottom'
    }, options);

    return this.each(function() {
      var tipr_cont = '.tipr_container_' + set.mode;

      $(this).hover(
        function() {
          var d_m = set.mode;

          if ($(this).attr('data-mode')) {
            d_m = $(this).attr('data-mode')
            tipr_cont = '.tipr_container_' + d_m;
          }

          var out = '<div class="tipr_container_' + d_m + '"><div class="tipr_point_' + d_m + '"><div class="tipr_content">' + $(this).attr('data-tip') + '</div></div></div>';

          $(this).append(out);

          var w_t = $(tipr_cont).outerWidth();
          var w_e = $(this).width();
          var m_l = (w_e / 2) - (w_t / 2);

          $(tipr_cont).css('margin-left', m_l + 'px');
          $(this).removeAttr('title alt');
          $(tipr_cont).fadeIn(set.speed);
        },
        function() {
          $(tipr_cont).remove();
        }
      );
    });
  };
})(jQuery);

$(document).ready(function() {
     $('.tip').tipr();
});

我试图通过调用类似的东西来禁用悬停:

$(gbTip).off('hover');

但这似乎并没有起作用,因为当它悬停在文本上时它仍会弹出。

以下是JSFIDDLE

1 个答案:

答案 0 :(得分:1)

您可以使用

禁用悬停
$(document).ready(function() {
    gbTip = $('.tip').tipr();
    gbTip.unbind('mouseenter mouseleave');
});

修改

或者,要在启用和停用悬停效果之间切换,我们可以添加no-hover类,

$('.tip').addClass('no-hover');

用css,

.no-hover > * {
   display: none !important;
}

并再次启用悬停效果,只需删除类

即可
$('.tip').removeClass('no-hover');