我有一个带有2个工具提示触发器的原型,每个触发器打开各自的工具提示,但工具提示必须保持打开状态。每个工具提示都有一个关闭链接以关闭工具提示。
在我的第一个原型中,我将其用于单个工具提示触发器,但是在未来,我希望使其更加全局化以支持任何页面上的任何工具提示,即使页面上有多个工具提示。
我在显示工具提示时遇到问题。我调试了我的代码,并一直遵循它。 qTip2代码会获取每个触发器及其相应的工具提示内容,但是单击触发器时,不会显示它。
任何帮助将不胜感激。谢谢!
这是我的小提琴:http://jsfiddle.net/donmarais/mVDZ3/1/
$(function() {
var closeTooltipIds = [],
closeTooltipId,
openTooltipIds = [],
openTooltipId = $('a.tooltip-open');
$('a.tooltip-open').each( function() {
// First get the ID's of all the anchor tags with the class tooltip-open and add them to the opentooltipids array
var eachTooltipOpenId = '#' + $(this).attr('id');
openTooltipIds.push(eachTooltipOpenId);
// Next, iterate through each opentooltip id and add a tooltip
$(openTooltipIds).each(function(i) {
var el = $(this);
el.qtip({
content: {
text: $(this).next()
},
events: {
visible: function() {
$('.tooltip-close').focus()
}
},
position: {
my: 'center left',
at: 'center right',
target: $(this)
},
show: {
event: 'click'
},
hide: false
});
// Now get a reference to each open tooltip trigger id and find its respective tooltip's close link and get its id.
closeTooltipId = '#' + $(openTooltipIds[i]).next('.tooltip').find('a.tooltip-close').attr('id');
// add the ids to the closetooltip array
closeTooltipIds.push(closeTooltipId);
});
});
// Bind the close event to each anchor tag in the closeTooltipIds array
$.each( closeTooltipIds, function( intValue, currentCloseTooltipId ) {
// Bind the close event to each anchor tag in the closeTooltipIds array
$(currentCloseTooltipId).bind('click', function() {
var qTipContainer = $(currentCloseTooltipId).closest('.qtip');
$(qTipContainer).hide();
});
});
});