Javascript SVG内部Firefox中的onmouseover事件

Javascript SVG内部Firefox中的onmouseover事件,javascript,firefox,svg,dom-events,Javascript,Firefox,Svg,Dom Events,我在这里寻找答案,但没有成功 因此,我将SVG放在一个html页面中,我希望通过以下方式捕捉onmouseover事件: <g id="node1" class="node" onmouseover="showTooltip(event,'blabla',0,200)"> 它在Chrome中工作 为了在Firefox中使用它,我尝试使用Yahoo dom事件库。使用它,我可以在Firefox中捕获此事件,但不能在SVG中捕获: 未定义事件 如何在SVG中使用onmouseove

我在这里寻找答案,但没有成功

因此,我将SVG放在一个html页面中,我希望通过以下方式捕捉
onmouseover
事件:

<g id="node1" class="node" onmouseover="showTooltip(event,'blabla',0,200)">

它在Chrome中工作

为了在Firefox中使用它,我尝试使用Yahoo dom事件库。使用它,我可以在Firefox中捕获此事件,但不能在SVG中捕获:

未定义事件


如何在SVG中使用onmouseover事件?

尝试使用evt而不是事件。此示例适用于firefox:

尝试使用evt而不是事件。这个例子在firefox中有效:

太棒了!我唯一想知道的是为什么要使用EVT?在Webkit(Chrome/Safari)和Presto(Opera)中,您可以使用“EVT”或“event”(EVT基本上是“var EVT=event;”)。如果Firefox也做了这样的更改,那就太好了。@k102它是
evt
,因为SVG规范这么说。现在,为什么规范编写者决定与HTML不兼容,谁知道呢。@ErikDahlström至少在Chrome中是这样(Safari不同;这是V8的一部分,而不是WebKit),在事件处理程序中,函数参数通常命名为
evt
。使用bareword
event
只需查找范围链,如果幸运的话,您可以进入Chrome还定义的
窗口。event
。但是如果元素上有一个名为
event
的expando,比如说,你输了。看见Firefox不太可能做到这一点,因为无论是在规范上还是在实践中,Firefox都非常糟糕。@BorisZbarsky,呃,比我当时想的更糟。不幸的是,有相当多的svg内容使用“evt”,如果所有浏览器都不同时允许“event”和“evt”,那么它肯定不会有助于弃用“evt”。太好了!我唯一想知道的是为什么要使用EVT?在Webkit(Chrome/Safari)和Presto(Opera)中,您可以使用“EVT”或“event”(EVT基本上是“var EVT=event;”)。如果Firefox也做了这样的更改,那就太好了。@k102它是
evt
,因为SVG规范这么说。现在,为什么规范编写者决定与HTML不兼容,谁知道呢。@ErikDahlström至少在Chrome中是这样(Safari不同;这是V8的一部分,而不是WebKit),在事件处理程序中,函数参数通常命名为
evt
。使用bareword
event
只需查找范围链,如果幸运的话,您可以进入Chrome还定义的
窗口。event
。但是如果元素上有一个名为
event
的expando,比如说,你输了。看见Firefox不太可能做到这一点,因为无论是在规范上还是在实践中,Firefox都非常糟糕。@BorisZbarsky,呃,比我当时想的更糟。不幸的是,有相当多的svg内容使用“evt”,如果所有浏览器都不同时允许“event”和“evt”,那么它肯定不会有助于弃用“evt”。