相关疑难解决方法(0)

单击外部时隐藏Angular UI Bootstrap popover

我试图手动关闭一个引导程序弹出窗口,以便当我点击documentbody不是弹出窗口上的任何地方时关闭它.

我发现最接近完成此任务的是创建一个指令(找到这个答案),但这是一个手动触发器,如果​​变量是truefalse.

如果我点击任何不是popover的东西,任何人都可以帮我弄清楚如何让它关闭吗?

我不介意使用jQuery $(document).click(function(e){});我不知道如何调用close.

<div id="new_button" popover-template="plusButtonURL" popover-placement="right" popover-append-to-body="true" popover-animation="false">+</div>
Run Code Online (Sandbox Code Playgroud)

通常popover-trigger="focus"会这样做,但我的popover包含需要点击的内容.ng-click如果我使用焦点触发器,我的内部弹出窗口会被忽略,因此我正在寻找一种不那么传统的方法来解决这个问题.

javascript twitter-bootstrap angularjs angular-ui-bootstrap

46
推荐指数
7
解决办法
5万
查看次数

基于表达式使用angular动态打开/关闭弹出窗口(或工具提示)的好方法?

我有一个连接到角度的表单,使用它进行验证.我能够使用ng-show指令显示错误消息,如下所示:

<span ng-show="t3.f.needsAttention(f.fieldName)" ng-cloak>
    <span ng-show="f.fieldName.$error.required && !f.fieldName.$viewValue">
        This field is required.
    </span>
</span>
Run Code Online (Sandbox Code Playgroud)

.. f表单在哪里,t3来自表单上的自定义指令,用于检测是否尝试提交,并包含用于检查字段有效性的函数.

我想要完成的是在popover中显示验证消息.无论是bootstrap的原生popover,还是来自UI Bootstrap的popover ,我都加载了.我也可以考虑AngularStrap,如果使用该lib更容易.

我现在正在努力的是一般的弹出窗口的性质 - 它们基于点击,鼠标中心,模糊等用户事件自动显示.我想要做的是显示和隐藏基于相同的弹出窗口上面的ng-show属性中的函数.因此,当表达式返回false时隐藏它,当它返回true时,显示它.

我知道bootstrap有这个.popover('show'),但是我不应该告诉有关dom的任何角度,所以我不确定如何访问$(element).popover()if在自定义表单控制器功能中执行此操作.我错过了什么吗?

更新

重复投票中提到的解决方案仍然只显示mouseenter上的popover.我想强制它显示,好像在做$('#popover_id').popover('show').

popover twitter-bootstrap angularjs angular-ui-bootstrap angular-strap

28
推荐指数
4
解决办法
8万
查看次数