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