我有这个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 !!!为什么??你能帮助我吗??
谢谢!
答案 0 :(得分:0)
mouseleave是一个仅限IE的javascript事件。现在,jQuery对mouseleave的解释与mouseout的版本略有不同。
当鼠标移出与其绑定的元素之外时,会触发jQuery mouseleave。
当鼠标移出与其绑定的元素之外时,或者当鼠标移出该元素的后代元素之外时,会触发jQuery mouseout。
我不明白为什么你会想要检测后代元素的鼠标输出,所以这就是为什么我使用jQuery mouseleave来做所有事情并且从不打扰鼠标输出的原因。
此外,也许这个jquery e rapahel_jquery库使用旧版本的jQuery,如果你能够使用更新的版本,那么这个Opera / IE bug可能会被纠正吗?我仍然会尝试使用mouseleave,因为(据我所知,在不查看jQuery源代码的情况下)它使用完全不同的功能来完成类似的操作,它用于复制仅限IE的事件。