2013-07-03 10 views
11

http://twitter.github.io/bootstrap/javascript.html#popoversを使用しようとしています。トリガーはclick | hover | focus | manualのいずれかに設定できます。複数のトリガーを設定する方法はありますか?私はホバーとフォーカスを使いたい。Twitter Bootstrap Popover Trigger:複数のトリガーを設定するには?

+2

'manual'を使って、あなたが望むイベントを購読した後に手動でポップオーバーを開きます。 –

+1

詳細を教えていただけますか?また、それを答えとして置くことができますので、助けてもそれを受け入れることができますか? – StackOverflowNewbie

答えて

21

これは、独自のイベントハンドラを定義し、APIを介してポップオーバーを表示/非表示によって達成するために十分に簡単です:

HTML:

<input id='no-popover' type='text' /> 
<input id='has-popover' type='text' placeholder='hover or focus me' /> 

ではJavaScript:

var showPopover = function() { 
    $(this).popover('show'); 
} 
, hidePopover = function() { 
    $(this).popover('hide'); 
}; 

$('#has-popover').popover({ 
    content: 'Popover content', 
    trigger: 'manual' 
}) 
.focus(showPopover) 
.blur(hidePopover) 
.hover(showPopover, hidePopover); 

例:http://jsfiddle.net/Xqx8P/

7

ポップオーバーを初期化するときに、複数のトリガーを渡すことができます。それらをスペースで区切ります。誰もが(Angular-UIを使用して)AngularJSとブートストラップのポップオーバーを使用し、ポップオーバーは、「入力したマウスに」をアクティブになりますが、はに従ってを無効にすることを定義したい場合

:この質問に関連し

var options = { 
     trigger: 'hover focus' 
    } 

    $('#has-popover').popover(options); 
2

1つ以上のイベント、このコードは役に立つかもしれません:

app.config(function ($tooltipProvider) { 
    // when the user either leaves the element or clicks on it, the tooltip/popover will go off. 
    $tooltipProvider.setTriggers({ 
     'mouseenter': 'mouseleave click', 
     'click': 'click', 
     'focus': 'blur' 
    }); 
} 
0

@Denisイワノフによって正しく言及したものの参照

ブートストラップ3.0(http://getbootstrap.com/javascript/#popovers

ポップオーバーがトリガされた方法 - クリックしてください|ホバー|フォーカス|マニュアル。 複数のトリガーを渡すことができます。それらをスペースで区切ります。デフォルトは 'クリック'

関連する問題