【问题标题】:Bootstrap-UI custom popover trigger not workingBootstrap-UI 自定义弹出框触发器不起作用
【发布时间】:2015-10-11 16:02:15
【问题描述】:

我想显示一个弹出窗口,替换默认的浏览器验证弹出窗口。 由于 UI 只知道 click、focus 和 mouseenter 作为默认触发器 to open popovers,我在 triggermap (described here) 中添加了一个自定义触发器。

 angular.module('myApp',['ui.bootstrap'])  
     .config(['$tooltipProvider', function($tooltipProvider){
     $tooltipProvider.setTriggers({'customEvent': 'customEvent'}); }]);

这似乎有效,因为 triggermap 确实会增长,并且在某些时候甚至会发出新的触发器。 遗憾的是,在触发“customEvent”时,预期的弹出框从未出现,并且之前的 eval 函数没有被调用(因此没有逻辑或样式问题,稍后将应用):

<input id="searchBtn" type="button" class="btn btn-primary" ng-click="..." value="..." popover="test here" popover-placement="bottom" popover-trigger="customEvent">

使用像“点击”这样的默认触发器效果很好。

$('#searchBtn').trigger('click');

(唉,使用默认触发器之一对我来说是最后的手段,因为它需要一些不需要的东西......) 有什么建议么 ? (使用 bootstrap-ui 0.13.4)

【问题讨论】:

  • 你想触发什么事件? 0.4.x 版现在公开了 isOpen 属性,因此您可以使用它。
  • 这也是我最后想出的......无论如何,谢谢

标签: angular-ui-bootstrap eventtrigger


【解决方案1】:

0.13.4 版本引入了*-is-open 属性,允许您以编程方式控制工具提示/弹出框何时打开。请参阅the docs 了解更多信息。

如果您想使用自定义触发器,您需要手动触发 customEvent,因为浏览器无法为您这样做(因为它不是原生事件)。

【讨论】:

  • 这就是我所做的:$('#searchBtn').trigger('customEvent');这不起作用...促使我首先提出这个问题。
  • 没有看到一个最小的、可以工作的 plunker 来证明这个问题,我无法评论为什么你所做的没有工作。
猜你喜欢
  • 2019-06-29
  • 1970-01-01
  • 2014-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 1970-01-01
  • 2023-03-21
相关资源
最近更新 更多