我如何用超时关闭打开的qtip2实例?

时间:2014-02-14 04:20:07

标签: jquery qtip2

我想在用户点击触发元素后2秒后关闭qtip。

settimeout来电之前,一切正常。

setTimeout倒计时2000毫秒时,我得到的是这个错误:
Uncaught TypeError: Object [object global] has no method 'toggle'

我认为这与api不包含它应包含的内容有关。

我的代码:

jQuery('#action-bar-currency-control #currency_converter a').each(function()
        {
            jQuery(this).qtip(
                {
                    id: 'currency_changed_tip',
                    content: {
                        text: jQuery(this).data('currencycode')
                    },
                    position: {
                        my: 'top center',
                        at: 'bottom center'
                    },
                    show: {
                        event: 'click',
                        solo: true
                    },
                    hide: false,
                    events: {
                        render: function(event, api) {
                            setTimeout(api.hide, 2000);
                        }
                    }
                }
            );
        });

有人在这里有任何指示吗?

修改 没弄清楚,所以我拖延了。

hide: {
    delay: 2000
}

1 个答案:

答案 0 :(得分:1)

我认为你必须做api.elements.target.hide

之类的事情
events: {
    render: function(event, api) {
        setTimeout(api.elements.target.hide, 2000);
    }
}

修改

摘自api文档http://qtip2.com/api

  

元素

     

包含对与工具提示相关的元素的引用的对象,包括初始目标。

     

api.elements.target; //引用'target'元素,即由$('。selector')匹配.qtip()

     

api.elements.tooltip; //下面

的容器元素      

api.elements.titlebar; //标题栏包含

下面的标题(和关闭按钮,如果已启用)元素      

api.elements.title; //包含content.title

     

api.elements.button; //由content.button定义的关闭按钮

     

api.elements.content; //包含content.text

所以看起来你想要elements.tooltip而不是elements.target