3

ほろ酔いの開閉後にコールバック関数を設定しようとしています。

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

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

ほろ酔いが開いた後に addText() を実行したいのですが、そうではありません。

ほろ酔いコアコードを変更せずにそれを行う簡単な方法はありますか?

これが私のjsfiddleです:http://jsfiddle.net/Tqcgr/1/

4

2 に答える 2

1

onShowおよびonHideコールバックを追加するのは簡単でした。これをチェックしてください:http: //jsfiddle.net/Tqcgr/2/

ただし、showメソッドとhideメソッドを変更する必要があります。

//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();
}
于 2012-11-23T12:58:54.740 に答える
1

それでは、ドキュメントを見てみましょう: http://onehackoranother.com/projects/jquery/tipsy/

ほろ酔いはコールバックをサポートしていませんが、パラメーターのコールバック関数をサポートしています: たとえば、タイトル。したがって、関数 ass パラメータを渡すことができます。この関数は、このカスタム コールバック関数を使用していないかのように、必要な処理を行ってから元のタイトルを返すだけです。

$(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/

于 2012-11-23T12:44:41.207 に答える