0

ボディの下の特定の div にブートストラップ 3 のツールチップを適用するときに、エッジ ケースがあります。

 $('body').tooltip({selector: '[data-tt="tooltip"]', container: '.spa > div:first-child', trigger: 'hover', delay: { show: 500, hide: 0 }, placement: function () {
     var position = this.$element.data('placement');
     if (typeof position !== 'undefined') {
       return position;
     } else {
       return 'bottom';
     }
}});

ツールチップをa、i、input、button、divに適用すると、ホバーするとうまく機能します。入力/ボタンにカーソルを合わせてクリックすると、mouseoutこのエッジケースのタイミングが完全に合うと、ツールチップがDOMに貼り付けられます。共有するサイトはありませんが、私の質問は、ツールチップですべての dom 要素の履歴を追跡するオプションがない場合、BS3-Tooltips ON BODY をどのようにクリーンアップしますか?

私は単にすることができませんでした...tooltip(...).on('click', function(this) { ...('hide'); } ..。コンテキストは常に本文だからです。そして、ルーティング時にすべてのツールチップを簡単にクリアするために、その .spa 内にツールチップを配置する必要があります。

PSアニメーション、遅延を削除しようとしました。

4

1 に答える 1

0
$('body').on('click', function () {
    $('body').tooltip('hide');
}).tooltip({selector: '[data-tt="tooltip"]', container: '.spa > div:first-child', trigger: 'hover', delay: {show: 500, hide: 0}, placement: function () {
    var position = this.$element.data('placement');
    if (typeof position !== 'undefined') {
        return position;
    } else {
        return 'bottom';
    }
}});

私のために働いた。

于 2014-06-19T21:16:47.383 に答える