首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery Tipsy隐藏/显示的回调

jQuery Tipsy隐藏/显示的回调
EN

Stack Overflow用户
提问于 2012-11-23 18:52:12
回答 2查看 1.1K关注 0票数 3

我正在尝试在tipsy打开/关闭后设置一个回调函数。

代码语言:javascript
复制
function addText()
{
    $('#text').html('Tipsy is now open !');
}

$('.tipsy').tipsy(addText);   

我想让addText()在tipsy打开后运行,但它没有。

有没有一种简单的方法可以在不修改tipsy核心代码的情况下做到这一点?

这是我的jsfiddle:http://jsfiddle.net/Tqcgr/1/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-23 20:58:55

添加onShow和onHide回调很容易。看看这个:http://jsfiddle.net/Tqcgr/2/

但是,你需要修改显示和隐藏方法。

代码语言:javascript
复制
//show
var callback = this.options.onShow,
    element = this.$element[0],
    runCallback = function() {
        if(callback){
            callback.call(element);   
        }
    };

//invoke
if (this.options.fade) {
    $tip.stop().css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: this.options.opacity}, runCallback);
} else {
    $tip.css({visibility: 'visible', opacity: this.options.opacity});
    runCallback();
}

//hide
var callback = this.options.onHide,
    element = this.$element[0],
    runCallback = function() {
        if(callback){
            callback.call(element);
        }                        
    };
    //invoke
if (this.options.fade) {
    this.tip().stop().fadeOut(function() { $(this).remove(); runCallback()});
} else {
    this.tip().remove();
    runCallback();
}
票数 1
EN

Stack Overflow用户

发布于 2012-11-23 20:44:41

那么,让我们看一下文档:http://onehackoranother.com/projects/jquery/tipsy/

Tipsy不支持回调,但支持参数的回调函数:例如title。这个函数会做我们想做的事情,然后简单地返回原始标题,就像我们没有使用这个自定义回调函数一样

代码语言:javascript
复制
$(function () {
  function addText(el)
  {
    $('#text').html('Tipsy is now open !');
    return $(el).attr('original-title');
  }

  $('.tipsy').tipsy({
    gravity: 'w',
    title: function() {
      return addText(this);
    }
  });
});

示例可以在这里看到:http://jsfiddle.net/Rf8qY/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13527580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档