【发布时间】:2015-12-15 16:36:08
【问题描述】:
我想要一个效果,当有人将鼠标悬停在一个元素上时,他会看到一个工具提示几秒钟,然后工具提示就会消失,即使鼠标仍在元素上也是如此。这就是我所拥有的:
<div data-sentence-tooltip="yes" data-tooltip-content: "some content"> some text </div>
$('[data-sentence-tooltip="yes"]').tooltip({title: function(){return $(this).attr('data-tooltip-content')}});
根据其他相关的 SO 问题,我尝试了以下两个:
setTimeout(function(){$(".tooltip").fadeOut("fast");}, 2000);
和
jQuery.fn.delay = function(time,func){
return this.each(function(){
setTimeout(func,time);
});
};
$('[id^="tooltip"]').delay(2000, function(){
$('[id^="tooltip"]').fadeOut('fast');
}
);
但我想我知道为什么这些都不起作用。可能是因为 .tooltip 或 id=tooltip* 被即时添加到 DOM 中。
参考:
【问题讨论】:
-
是您在任何侦听器中或页面运行时的 javascript/jquery 代码,因为如果是这样,您可能需要将代码放在看起来像这样 $(document) 的 .ready() 函数中.ready(function(){//代码放在这里});
-
我正在使用 window.onload = initialize_function() 这段代码。
-
尝试使用 $(document).find('.tooltip').fadeOut();
-
不起作用。我认为这是因为文档中没有“.tooltip”可以找到。 “.tooltip”只有在鼠标悬停后才会添加到文档中。
标签: javascript jquery html css