当前位置: 首页 > 面试题库 >

在自定义事件上启用angular-ui工具提示

班宏毅
2023-03-14
问题内容

我正在尝试使用angular-
ui的工具提示功能向用户显示特定字段无效,但是似乎只能在某些预定义的触发器上显示该工具提示。除了那些触发器外,还有什么方法可以触发工具提示?

例如:

<input
    type="text"
    tooltip="Invalid name!"
    tooltip-position="right"
    tooltip-trigger="myForm.username.$invalid">

问题答案:

这是一个把戏。

Twitter
Bootstrap工具提示(Angular-
UI依赖于此)具有一个选项,可以指定带有附加属性的触发事件,如中所示data- trigger="mouseenter"。这为您提供了一种以编程方式(使用Angular)更改触发器的方式:

<input 
  ng-model="user.username"
  name="username"
  tooltip="Some text" 
  tooltip-trigger="{{{true: 'mouseenter', false: 'never'}[myForm.username.$invalid]}}" 
/>

因此,当username$ invalid时,tooltip- trigger表达式将求值为'mouseenter'并显示工具提示。否则,触发器将评估'never'不会触发工具提示的触发器。

编辑:

@cotten(在评论中)提到了一种情况,即使模型有效,工具提示也会卡住并且不会消失。当在输入文本时鼠标停留在输入字段上(并且模型变为有效)时,会发生这种情况。一旦模型验证评估结果为true,tooltip- trigger它将切换为“从不”。

UI Bootstrap使用所谓的triggerMap来确定显示/隐藏工具提示的鼠标事件。

// Default hide triggers for each show trigger
var triggerMap = {
  'mouseenter': 'mouseleave',
  'click': 'click',
  'focus': 'blur'
};

如您所见,此地图对“从不”事件一无所知,因此无法确定何时关闭工具提示。因此,为了使技巧发挥出色,我们只需要使用我们自己的事件对来更新此映射,然后UI
Bootstrap将知道在tooltip-trigger设置为“从不” 时关闭工具提示时要观察的事件。

app.config(['$tooltipProvider', function($tooltipProvider){
  $tooltipProvider.setTriggers({
    'mouseenter': 'mouseleave',
    'click': 'click',
    'focus': 'blur',
    'never': 'mouseleave' // <- This ensures the tooltip will go away on mouseleave
  });
}]);

[PLUNKER](http://plnkr.co/edit/DmNNkYHfofHTX4omt8GC?p=preview)

注意:$ tooltip提供程序由“ ui.bootstrap.tooltip”模块公开,它允许我们在应用程序配置中全局配置工具提示。



 类似资料:
  • 问题内容: 我一直在环顾四周,尝试各种不同的方法,但无法解决。是否可以在特定事件下隐藏angular-ui工具提示? 我想要做的是当有人将鼠标悬停在div上时显示一个工具提示,并在用户单击它时将其关闭,因为我将显示另一个弹出窗口。我使用自定义触发事件进行了尝试,但似乎无法正常工作。我做的: http://jsfiddle.net/3ywMd/ 工具提示必须在第一次单击时关闭,而不是在第二次单击时关

  • 我有一个自定义组件,它只是谷歌位置自动完成的包装。有时地址比输入框长,所以我实现了一个显示完整地址的工具提示。问题是,如果我在同一页面上有两个组件,并且我将鼠标悬停在其中一个输入框上,两个工具提示都会启动,因为页面上还有另一个组件。我怎么能只启动悬停的工具提示,而不启动其他所有工具提示? 我的组件如下所示: 实现两个组件的表单如下所示: 这是其中一个地址字段上的工具提示屏幕截图。正如您所看到的,底

  • 问题内容: 我基于Tkinter创建了一个应用程序,该应用程序使用Matplotlib绘制波形。我不知道如何更改Matplotlib工具栏按钮的工具提示(由于我的应用程序是捷克语,因此我需要翻译英文说明)。我还想更改/翻译或仅删除单击缩放或平移按钮时出现在工具栏面板旁边的说明(,)。 我发现了一些有关如何从工具栏添加或删除按钮的有用提示,但是没有找到有关自定义工具提示/描述的任何建议。我认为这与前

  • 问题内容: 我目前在我的应用程序中添加了一些引导工具提示。 所有的“正常”工具提示都可以,但是当我要使用时,我得到的只是一个空的工具提示。 我的工具提示: 在DOM中,我有: div的内容似乎为空,因此工具提示中没有任何内容可显示。我试图将一些HTML文本直接放在DOM中,例如: 而且有效。 你有好主意吗? 问题答案: html-unsafe指令旨在指出其内容。那这个呢: 然后,在SomeCtrl

  • 我试图在Android上的React原生应用程序中定义一个自定义事件。我有原生视图,它有一个原生按钮。当按下按钮时,我想向我的React原生组件发送一条消息,以显示一个模式屏幕。 我遵循了示例,但不理解所有元素,在尝试中做了一些猜测。 在我的ViewManager类中: 自定义视图: 所以我希望,每次调用时,触发JS事件,我可以在React Native应用程序中显示模态视图。 在我的React组

  • 在App开发中,经常会遇到页面间传值的需求,比如从新闻列表页进入详情页,需要将新闻id传递过去; Html5Plus规范设计了evalJS方法来解决该问题; 但evalJS方法仅接收字符串参数,涉及多个参数时,需要开发人员手动拼字符串; 为简化开发,mui框架在evalJS方法的基础上,封装了自定义事件,通过自定义事件,用户可以轻松实现多webview间数据传递。 仅能在5+ App及流应用中使用