没有引导的AngularJS工具提示
AngularJS tooltip without bootstrap?
我对AngularJS相当陌生,并且正在做一个对外部依赖非常严格的项目;事实上,Bootstrap被排除了,然而,我必须实现一个"tooltip"指令。
我试图使用mouseenter和mouseleave事件做到这一点,但我想知道我如何使用指令自己的属性作为工具提示的内容?
可以这样使用:
<a id='someLink' my-tooltip='The content that I want to show'>Trigger</a>
在UI开发上相当绿色,有人能告诉我如何添加必要的HTML/CSS来通过指令完成这项工作吗?
DEMO
app.directive("tooltip", function () {
return {
link: function (scope, element, attrs) {
$(element).on("mouseover", function () {
$(this).append("<span>"+ attrs.tooltip +"</span>");
});
$(element).on("mouseout", function () {
$(this).find("span").remove();
});
scope.$on("$destroy", function () {
$(element).off("mouseover");
$(element).off("mouseout");
});
}
};
});
CSS 源
a.tooltips {
position: relative;
display: inline;
}
a.tooltips span {
position: absolute;
width:140px;
color: #FFFFFF;
background: #000000;
height: 30px;
line-height: 30px;
text-align: center;
visibility: hidden;
border-radius: 6px;
}
a.tooltips span:after {
content: '';
position: absolute;
top: 50%;
right: 100%;
margin-top: -8px;
width: 0; height: 0;
border-right: 8px solid #000000;
border-top: 8px solid transparent;
border-bottom: 8px solid transparent;
}
a:hover.tooltips span {
visibility: visible;
opacity: 0.8;
left: 100%;
top: 50%;
margin-top: -15px;
margin-left: 15px;
z-index: 999;
}
这是我使用的简短版本:
PIAPP.directive('piTooltip', function(){
return function($scope, element, attrs){
element.append('<u>'+attrs.piTooltip+'</u>');
};
});
CSS: *[pi-tooltip]>u{
visibility: hidden;
opacity: 0;
font-size: 12px;
padding: 0 5px;
background: #f6e6c2;
border: 1px solid #000;
color: #000;
z-index: 1000;
white-space: nowrap;
text-decoration: none;
position: absolute;
bottom: -2em;
left: 0;
transition: opacity 0.5s linear 0.5s, visibility 0s;
}
*[pi-tooltip]:hover>u{
visibility: visible;
opacity: 1;
}
您可以在任何容器(a, span,div等)中使用它,像这样:
<div pi-tooltip="The content that I want to show">...</div>
Show demo no Fiddle
相关文章:
- d3.js Chord图的动态工具提示
- Graphiti中是否有任何工具提示功能
- 如何在d3工具提示的html元素中使用Angularjs过滤器
- AngularJs:抓取编译后的html并设置到工具提示中
- AngularJS中的自定义工具提示
- Materializecss工具提示不适用于Angularjs
- angularJS视图更新后初始化引导工具提示
- AngularJS和Bootstrap工具提示的范围界定问题
- 用户离开字段后立即显示AngularJS引导工具提示以进行客户端验证
- angularjs中用于表单验证的工具提示
- 没有引导的AngularJS工具提示
- AngularJS工具提示/弹出窗口,内容重复
- Angularjs工具提示:工具提示HTML模板没有更新
- 自定义AngularJS引导工具提示
- 如何在基于angularjs的应用中隐藏工具提示
- angularjs中的工具提示ng-repeat
- 如何使用AngularJS在svg圆圈上获得工具提示
- angularjs中的工具提示问题
- 使用AngularJS UI使工具提示位置相对于窗口大小
- AngularJs 工具提示指令 - 添加样式