2016-03-25 7 views
1

クリックした後にダブルクリックが必要なツールチップに問題があります。たとえば、tooltip1をクリックしてから、tooltip2をクリックして、もう一度tooltip1をクリックします。もう一度tooltip1をクリックすると、2回クリックするだけでツールチップが再び表示されます。最初のクリック後にダブルクリックが必要なブートストラップツールチップ

私が探しているのは、リンクをクリックしたときにツールチップを表示する4つのツールヒントがあるページです。ツールチップが1つ表示されている場合は残りの3つは表示されません。

の例では、私は同じ問題を持っていたhttps://jsfiddle.net/9656mv9w/

$(document).ready(function() { 
$('[data-toggle="tooltip"]').tooltip(); 
}); 

$(document).on('show.bs.tooltip', function() { 
$('.tooltip').not(this).hide(); 
}); 
+0

ブートストラップのソースコードを読むと、ほとんどのポップオーバーコードがツールチップコードを使用していることがわかります。 ( 'Popover'は、いくつかのマイナーなカスタマイズで' Tooltip'から派生しています。)したがって、問題と解決策は両方で同じです。 – Louis

答えて

1

です。修正を回避するには、ショーイベントで開いているすべてのツールチップを検出し、終了する必要があります。

//init bootstrap tooltips 
$('[data-toggle="tooltip"]').tooltip({ 
    trigger:'click' 
}); 

//listen for the show event on any triggered elements 
$('[data-toggle="tooltip"]').on('show.bs.tooltip', function() { 

//get a reference to the current element that is showing the tooltip 
    var triggeredElement = $(this); 

    //loop through all tooltips elements 
    $('[data-toggle="tooltip"]').each(function(){ 

    //if they are not the currently triggered element and have a tooltip, 
    //trigger a click to close them 
    if($(this) !== triggeredElement && $(this).next().hasClass('tooltip')) { 
     $(this).click(); 
    } 
    }) 
}); 
+0

これは完全に機能しました。ありがとうございました! –

関連する問題