我正在使用jquery cluetip插件来显示详细的工具提示。我遇到了以下问题中描述的问题,并遵循了接受的答案的建议:
Close a cluetip when the mouse is off of the link
这是我正在使用的代码:
if (opts.mouseOutClose) {
var closectip;
$cluetip.hover(function() {
clearTimeout(closectip);
},
function() {
$closeLink.trigger('click');
});
$this.hover(function() {
clearTimeout(closectip);
}, function() {
closectip = setTimeout(cluetipClose, 1000);
});
}
这应该是在将鼠标移出后隐藏一条线索。这是我第一次查看和鼠标移出一个cluetip时 - 但是当我查看cluetips后,它会在1秒钟之后隐藏提示,即使没有鼠标移除也是如此。调试显示以下代码无法正常工作:
$this.hover(function() {
clearTimeout(closectip);
}
这应该确保当我们再次悬停在cluetip元素上时清除超时,以便在一秒钟后它不会被隐藏。但是,执行悬停功能时,“closectip”超时变量未定义。
如何将closectip
超时变量设为全局,以便我可以从悬停事件中访问和清除它?
答案 0 :(得分:2)
以下是javascript全局变量的描述......
http://snook.ca/archives/javascript/global_variable
您需要做的就是摆脱变量声明,在所有函数之外声明它,或声明(并将其称为)window.closectip