创建一个可以在 angularjs 中单击的悬停工具提示
create a hover-tooltip which can be clicked in angularjs
我正在尝试使用 Bootstrap UI 创建悬停工具提示。当鼠标悬停在按钮上时,工具提示应该可见,工具提示有一个 link 应该可以点击。但是 Bootstrap UI 提供的默认弹出窗口和工具提示在鼠标离开时消失。
我在网上搜索了很多,但找不到解决方案。有些网站给出了使用jQuery的解决方案,但我的要求是AngularJS。许多站点引用我们必须使用 $tooltipProvider,你能告诉我如何在控制器中为 'mouseenter' 和 'mouseleave' 编写自定义事件吗?
我为下拉菜单做了一个粘性下拉扩展。这是我的代码:
'use strict';
angular.module('ui.bootstrap.stickyDropdownToggle', []).directive('stickyDropdownToggle', ['$document', '$location', function ($document, $location) {
var openElement = null,
closeMenu = angular.noop;
return {
restrict: 'CA',
link: function (scope, element, attrs) {
scope.$watch('$location.path', function () { closeMenu(); });
element.parent().bind("click", function (event) { if (event) { event.stopPropagation(); } });
element.bind('click', function (event) {
var elementWasOpen = (element === openElement);
event.preventDefault();
event.stopPropagation();
if (!!openElement) {
closeMenu();
}
if (!elementWasOpen && !element.hasClass('disabled') && !element.prop('disabled')) {
element.parent().addClass('open');
openElement = element;
closeMenu = function (event) {
if (event) {
event.preventDefault();
event.stopPropagation();
}
$document.unbind('click', closeMenu);
element.parent().removeClass('open');
closeMenu = angular.noop;
openElement = null;
};
$document.bind('click', closeMenu);
}
});
}
};
} ]);
并使用它:
<button type="button" class="btn sticky-dropdown-toggle" ng-click="focusOnParticularElementInsideThePopup()"
style="font-size: 1em">
<span class="glyphicon glyphicon glyphicon-tags"></span>
</button>
您是否正在寻找稳定并在访问后隐藏的弹出窗口工具提示...请参阅下面的工作 fiddle:
<i class="fa fa-info-circle infoIcon" data-toggle="popover" data-content='Lorem Ipsum<br/><a href="#"><span class="learnMore">Learn More</span></a>'></i>
JS:
<i class="fa fa-info-circle infoIcon" data-toggle="popover" data-content='Lorem Ipsum<br/><a href="#"><span class="learnMore">Learn More</span></a>'></i>
检查这个 link,
http://fiddle.jshell.net/WojtekKruszewski/Zf3m7/22/light/
使用jQuery实现,在AngularJS中写指令。你可以在angularJS应用程序中集成jQuery插件,看看这个网站
https://amitgharat.wordpress.com/2013/02/03/an-approach-to-use-jquery-plugins-with-angularjs/
我正在尝试使用 Bootstrap UI 创建悬停工具提示。当鼠标悬停在按钮上时,工具提示应该可见,工具提示有一个 link 应该可以点击。但是 Bootstrap UI 提供的默认弹出窗口和工具提示在鼠标离开时消失。 我在网上搜索了很多,但找不到解决方案。有些网站给出了使用jQuery的解决方案,但我的要求是AngularJS。许多站点引用我们必须使用 $tooltipProvider,你能告诉我如何在控制器中为 'mouseenter' 和 'mouseleave' 编写自定义事件吗?
我为下拉菜单做了一个粘性下拉扩展。这是我的代码:
'use strict';
angular.module('ui.bootstrap.stickyDropdownToggle', []).directive('stickyDropdownToggle', ['$document', '$location', function ($document, $location) {
var openElement = null,
closeMenu = angular.noop;
return {
restrict: 'CA',
link: function (scope, element, attrs) {
scope.$watch('$location.path', function () { closeMenu(); });
element.parent().bind("click", function (event) { if (event) { event.stopPropagation(); } });
element.bind('click', function (event) {
var elementWasOpen = (element === openElement);
event.preventDefault();
event.stopPropagation();
if (!!openElement) {
closeMenu();
}
if (!elementWasOpen && !element.hasClass('disabled') && !element.prop('disabled')) {
element.parent().addClass('open');
openElement = element;
closeMenu = function (event) {
if (event) {
event.preventDefault();
event.stopPropagation();
}
$document.unbind('click', closeMenu);
element.parent().removeClass('open');
closeMenu = angular.noop;
openElement = null;
};
$document.bind('click', closeMenu);
}
});
}
};
} ]);
并使用它:
<button type="button" class="btn sticky-dropdown-toggle" ng-click="focusOnParticularElementInsideThePopup()"
style="font-size: 1em">
<span class="glyphicon glyphicon glyphicon-tags"></span>
</button>
您是否正在寻找稳定并在访问后隐藏的弹出窗口工具提示...请参阅下面的工作 fiddle:
<i class="fa fa-info-circle infoIcon" data-toggle="popover" data-content='Lorem Ipsum<br/><a href="#"><span class="learnMore">Learn More</span></a>'></i>
JS:
<i class="fa fa-info-circle infoIcon" data-toggle="popover" data-content='Lorem Ipsum<br/><a href="#"><span class="learnMore">Learn More</span></a>'></i>
检查这个 link,
http://fiddle.jshell.net/WojtekKruszewski/Zf3m7/22/light/
使用jQuery实现,在AngularJS中写指令。你可以在angularJS应用程序中集成jQuery插件,看看这个网站
https://amitgharat.wordpress.com/2013/02/03/an-approach-to-use-jquery-plugins-with-angularjs/