我的页面上有一个图像,当用户用鼠标悬停它时,会显示一个工具提示(使用qtip插件)。唯一的问题是当图像加载时,如果光标已经悬停在图像上,则不会触发onmouseover事件,并且除非用户将光标移离图像然后重新打开,否则工具提示不会显示。是他们应该使用的另一个事件还是更好的方式?
答案 0 :(得分:8)
我想建议检查用户是否在图像的onload事件上的图像上,但似乎没有办法检查鼠标在图像上的状态(至少在jQuery中)。因此,您可能希望尝试将jQuery's live
event与mouseover
和mouseout
一起使用。我怀疑这会避开这个问题,但值得一试:
jQuery(function(){
$('img.has_tooltip').live('mouseover', function(){
$(this).showTooltip(); });
$('img.has_tooltip').live('mouseout', function(){
$(this).hideTooltip(); });
});
如果这不起作用,您可以使用mousemove
事件:
jQuery(function(){
$('img.has_tooltip').mousemove(function(){
$(this).showTooltip(); });
$('img.has_tooltip').live('mouseout', function(){
$(this).hideTooltip(); });
});
一旦用户移动鼠标而不是用户必须将鼠标强行移离图像,这应该可以正常工作。不理想,但除了暂停用户之外,它将适用于所有人。
当然,使用这两个示例,使用qtip插件中的正确方法切换xxxTooltip
方法。