Tooltip()
fromを使用していTwitter-Bootstrap
ます。要素にカーソルを合わせると、 atooltip
が表示されます。ただし、マウスを離さない限り、そこにとどまります。
マウスが要素から離れるまで待つのではなく、ポップアップして数秒後に消えるようにするにはどうすればよいですか?
Tooltip()
fromを使用していTwitter-Bootstrap
ます。要素にカーソルを合わせると、 atooltip
が表示されます。ただし、マウスを離さない限り、そこにとどまります。
マウスが要素から離れるまで待つのではなく、ポップアップして数秒後に消えるようにするにはどうすればよいですか?
遅延時間内に複数の mouseEnter および mouseleave イベントが発生すると、「hide」が複数回呼び出され、ツールチップが予想よりも早く閉じる可能性があります。古い呼び出しは破棄する必要があります。
$('.bstooltip').on('shown.bs.tooltip', function () {
var that = $(this);
var element = that[0];
if(element.myShowTooltipEventNum == null){
element.myShowTooltipEventNum = 0;
}else{
element.myShowTooltipEventNum++;
}
var eventNum = element.myShowTooltipEventNum;
setTimeout(function(){
if(element.myShowTooltipEventNum == eventNum){
that.tooltip('hide');
}
// else skip timeout event
}, 2000);
});
ここに簡単な答えがあります
$(selector).tooltip({title:"somthing~", trigger:"hover", delay:{hide:800}, placement:"top"});
遅延オプションで非表示パラメーターのみを指定します。
クリックイベントではなくフォーカスイベントでも問題なく動作します(理由はわかりません..)