4

ボタンをクリックすると、ポップオーバー内のボタンをクリックすると閉じることができるポップオーバーが表示されます。ただし、別のボタンをクリックしてポップオーバーを開くと、同時に 2 つのポップオーバーが表示されるため、1 つだけを保持したいと考えています。

トリガー「フォーカス」を試しましたが、ポップオーバー内のテキストエリアをクリックするとポップオーバーが閉じます。ポップオーバーの外側をクリックすると、このトリガーが呼び出されると予想していました。

これについて何か考えはありますか?メソッド $hide、$show をコントローラーから呼び出すことはできますか?

4

5 に答える 5

2

これは古い質問です。最新バージョンの angular-strap では、この場合に新しい属性を使用できます。 auto-close='1'

于 2015-07-13T10:32:29.563 に答える
1

わかりました、これはひどいハックだと確信していますが、ここに行きます。ポップオーバー テンプレートがすべて popover クラスを使用し ( data-template 属性を持つカスタム テンプレートを使用していない場合は使用する必要があります)、それらをトリガーするボタンの兄弟であると仮定します ( container 属性です)、次のディレクティブをポップオーバー ボタンに適用できます。注: これは、ポップオーバーとポップオーバー ボタンの親要素に一意の ID があることを前提としています。

angular.module('yourApp.directives', []).directive('rmPopovers',
    function($document,$rootScope,$timeout,$popover) {
        return {
            restrict: 'EA',
            link : function(scope, element, attrs) {
                var $element = $(element);
                $element.click(function() {
                    $('.popover').each(function(){
                        var $this = $(this);
                        if($this.parent().attr('id') != $element.parent().attr('id'))
                        {
                            $this.scope().$hide();
                        }
                    }
                    );
                });
            }
        }
    }
);

その後

<button type="button" bs-popover rm-popovers [your data attribs here]>Button!</button
于 2014-03-13T03:03:55.123 に答える
0

angular-strap github プロジェクトには、必要な機能を正確に尋ねる問題があります。

それにもかかわらず、私がこの回答を書いている現時点では、まだ開いています。

于 2014-06-04T11:16:09.827 に答える
-1
trigger : 'focus' ,

同じ問題で私のために働いた

于 2015-07-29T12:18:09.107 に答える