设置qTip2以使用任何动态添加的工具提示到页面

时间:2014-04-20 14:01:41

标签: jquery qtip2

我有一个带有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();
    }); 
});

});

0 个答案:

没有答案