2015-09-25 4 views
5

私はこの奇妙なツールチップの動作に気付きました。クリックしてフォーカスを失ったりタブを切り替えた後に表示されるBootstrapツールチップを自動的に閉じる方法は?

ブートストラップツールチップを持つリンクをクリックしてタブを切り替えたり、ウィンドウを最小化した後、メインウィンドウに戻ると、マウスがホバーしていなくてもツールチップが表示されます。

これはバグですか?または正常な行動ですか?

http://jsfiddle.net/4nhzyvbL/1/

HTMLコード

<a data-original-title="Download" target="_blank" href="http://www.google.com/" 
    data-toggle="tooltip" title=""> click me and then come back to check me </a> 

CSSコード私は、ユーザーが戻ってきたときにツールチップを表示しないように作ることができる方法を

@import url("http://maxcdn.bootstrapcdn.com/bootswatch/3.2.0/cerulean/bootstrap.min.css"); 
@import url("http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css"); 
@import url("http://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"); 

JSコード

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

主な風にああ?すなわち自動的に隠れる。

+0

あなたが入力したフィードバックでは、ツールチップがマウスで終了しています。問題を再現できますか? –

+0

@JSantoshリンクをクリックし、タブを切り替えます。問題が発生します。 – AMB

答えて

6

これは予期した動作です。 Bootstrap documentationから、hover focusは、ツールチップを表示するためのデフォルトのトリガーです。したがって、ウィンドウに戻ると、リンクにフォーカスが移り、ツールチップが表示されます。あなたが要素の上に独自のトリガーを設定することで、これを無効にすることができます。たとえば

$('[data-toggle="tooltip"]').tooltip({ 
    trigger: 'hover' 
}); 

data-trigger="hover" 

またはjQueryの初期化子で

http://jsfiddle.net/4nhzyvbL/4/

+0

これはすごくうまくいきますが、理由があるので、そのデフォルト動作が保持されていると思っています。ありがとう、 – AMB

+1

私はこれを行うだけでなく、クリックしたときにツールチップを閉じる必要があることがわかりました。 $ {'(data-toggle = "ツールチップ"]') ')。(' click '、function(){$(this).tooltip(' hide ');}); '' ' – yuvilio

1

これはFirefoxで働いている、」didnの他のブラウザではテストしません。

タブがフォーカスを失ったときにツールヒントを非表示にします。

document.addEventListener('visibilitychange', function() { 
    $('[data-toggle="tooltip"]').tooltip('hide') 
}) 

Reference

Demo

Browsers Support - (IE 10、エッジ12は、Firefox 38、クロム31、サファリ8、オペラ31、IOSは7.1サファリアンドロイド4.4.4用クロムアンドロイド44以上のバージョン)