我试图在尖锐的打开/关闭后设置一个回调函数。

function addText()
{
    $('#text').html('Tipsy is now open !');
}

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


我希望addText()在倾斜打开后运行,但事实并非如此。

是否有一种简单的方法可以完成,而无需修改复杂的核心代码?

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

最佳答案

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

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

//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();
}

09-25 22:28
查看更多