1

当动态创建的SVG元素(如由raphael.js创建的元素)触发事件时,是否有避免IE7产生“错误:失败”的好方法?在Internet Explorer中从SVG元素传播的jQuery事件

当jQuery通过我的活动处理程序检查并查看SVG元素是否与我指定的实时选择器匹配时,我认为会产生“错误:失败”...现在我手动绑定函数请致电

e.stopPropagation(); 

对于raphael制作的我的SVG上的每个事件(mouseenter,mouseleave,click等)。

+1

IE 7支持SVG?如果我记得正确,Raphael.js使用VML for IE。 – jwueller 2010-12-07 21:20:57

+0

啊。好的 - 我遇到了VML图纸触发的事件,然后... – 2010-12-08 01:53:05

回答

1

我找不到预防这个jQuery问题的好方法。

因此,我所做的是在Raphael.js中捕获事件并调用e.stopPropagation();然后我使用IE的fireEvent在VML/SVG元素的父元素上再次启动事件。有点破解,但现在起作用。

0

我发现使用Brandon Aaron的“livequery”插件取代了jQuery原生的“live”方法,可以为任何活动的“change”事件绑定解决此问题。

参见:

hakoniemi

jQuery Bug