我正在使用 jquery 线索提示插件来显示详细的工具提示。我遇到了以下问题中描述的问题,并遵循了已接受答案的建议:
这是我正在使用的代码:
if (opts.mouseOutClose) {
var closectip;
$cluetip.hover(function() {
clearTimeout(closectip);
},
function() {
$closeLink.trigger('click');
});
$this.hover(function() {
clearTimeout(closectip);
}, function() {
closectip = setTimeout(cluetipClose, 1000);
});
}
这应该在鼠标移出后隐藏线索提示。这在我第一次查看线索提示并将鼠标移出时有效 - 但是当我随后查看线索提示时,即使没有鼠标移出,它也会在 1 秒后隐藏提示。调试显示以下代码无法正常工作:
$this.hover(function() {
clearTimeout(closectip);
}
这应该确保当我们再次将鼠标悬停在线索提示元素上时清除超时,以便它不会在一秒钟后被隐藏。但是,执行悬停功能时,“closectip”超时变量未定义。
如何使closectip
超时变量全局化,以便可以从悬停事件中访问和清除它?