2010-09-27 30 views
1

我在页面中和图像的“onmouseover”事件中有图像我将调用一个javascript函数来显示工具提示并在图像的“onmouseout”,我会调用一个方法来隐藏tooltip.Now我发现,当我将光标放在图像上,它调用的方法来显示工具提示div.and如果我将鼠标WITHIN它的图像,它调用的onmouseout事件(即使我不是图像)。我可以如何阻止这一点。当光标不在图像中时,我想要调用onmouseout?有什么想法吗 ?在此先感谢javascript:OnMouseout事件被调用时,我将光标移到元素上而不会去掉元素的输出

这是我如何称呼它

<img src="images/customer.png" onmouseout="HideCustomerInfo()" onmouseover="ShowCustomerInfo(485)" /> 

和我的javascript

function ShowCustomerInfo(id) { 


var currentCustomer = $("#hdnCustomerId").val(); 
if (currentCustomer != id) { // to stop making an ajax call everytime when the mouse move on the same image 

    $.get('../Lib/handlers/userhandler.aspx?mode=custinfo&cid=' + id, function (data) { 
     strHtml = data; 
    }); 

    tooltip.show(strHtml); // method in another jquery pluggin 
    $("#hdnCustomerId").val(id); 
} 
} 

function HideCustomerInfo() { 

tooltip.hide(); // method in another jquery pluggin 
$("#hdnCustomerId").val(0); //setting in a hidden variable in the page 

} 

回答

2

我假设你将鼠标放在你的提示?并且工具提示在图像领域之外有其标记?

因此,通过鼠标悬停在工具提示上,您在技术上会离开图像。我有类似的事情发生在我身上。

为了解决这个问题,尝试在图像周围粘贴一个div,然后将鼠标放在div上,然后作为div的子元素有你的工具提示,所以即使你将鼠标悬停在工具提示上,你仍然在div中。

这可能会起作用。

+0

不是鼠标悬停在工具提示上。而是将鼠标悬停在我附加了鼠标悬停事件的工具提示显示方法的图像上 – Shyju 2010-09-27 16:25:49

+0

您可以添加标记和代码吗? – jimplode 2010-09-27 16:26:49

+0

尝试绑定到mouseleave而不是mouseout?这是使用jquery吗? – jimplode 2010-09-27 16:36:33

0

您确定HideCustomerInfo()被图片的onmouseout事件处理程序调用吗?另外,你在哪些浏览器中使用?你在一个特定的浏览器中得到这种行为吗?

1

如果您用于悬停的图像具有透明度(这是一个PNG,右),那么当您将鼠标移动到图像的透明部分上时,您将看到一个onmouseout事件。是的,它很糟糕。我有同样的问题,并没有优雅的解决方案呢。

相关问题