我想在用户点击触发元素后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
}
答案 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