用Opera e IE拖出鼠标

时间:2011-09-19 17:29:49

标签: jquery internet-explorer mouseevent opera mouseout

我有这个codex,适用于jquery和rapahel_jquery。这是一个带有一些鼠标事件的功能。用于IE和Opera的mouseout问题。 这是从codex中推断出来的:

 for (var province in ita)
 {
        (function (prov, province)
        {
            prov.color = Raphael.getColor();                 
        prov.scale(2.5, 2.5);
        }); //close mouseover

        prov.mouseout(function() 
        {
        alert('ciao');
            prov.scale(1, 1);      
         }); //close mouseout

            prov.mousedown(function()
        {
        dialog($alfa); // calling the function dialog
         }); //close mousedown

        }); //close function (prov, province)
   }

一切正常,但不是 prov.mouseout IE e Opera !!!为什么??你能帮助我吗??

谢谢!

1 个答案:

答案 0 :(得分:0)

你正在使用jQuery吗?尝试使用mouseleave而不是mouseout。

mouseleave是一个仅限IE的javascript事件。现在,jQuery对mouseleave的解释与mouseout的版本略有不同。

当鼠标移出与其绑定的元素之外时,会触发jQuery mouseleave。

当鼠标移出与其绑定的元素之外时,或者当鼠标移出该元素的后代元素之外时,会触发jQuery mouseout。

我不明白为什么你会想要检测后代元素的鼠标输出,所以这就是为什么我使用jQuery mouseleave来做所有事情并且从不打扰鼠标输出的原因。

此外,也许这个jquery e rapahel_jquery库使用旧版本的jQuery,如果你能够使用更新的版本,那么这个Opera / IE bug可能会被纠正吗?我仍然会尝试使用mouseleave,因为(据我所知,在不查看jQuery源代码的情况下)它使用完全不同的功能来完成类似的操作,它用于复制仅限IE的事件。