嵌入SVG onload事件不起作用

时间:2015-01-08 20:03:22

标签: javascript html angularjs svg

我有角度指示:

   <div>
     <embed ng-src="{{url}}" id="map" type="image/svg+xml/>
   </div>

我需要在加载svg时执行代码,所以,我在dom上添加onload动作监听器

    // on dom ready
    $timeout(function(){
      $("#map")[0].onload = onSVGReady;
    });

这里map是embed元素的id,osSVGReady是action handler。

当第一次加载svg并且url更改时,此方法有效,不执行onSVGReady处理程序。

顺便说一句,当我将onload处理程序直接添加到它运行的元素时:

<embed ng-src="{{url}}" id="map" type="image/svg+xml" onload="console.log('Yes')"/>

我做错了什么?

THX。

1 个答案:

答案 0 :(得分:0)

我找到了另一个解决方案:使用object而不是embed:

<object id="map" type="image/svg+xml" ng-attr-data="{{url}}"> 
相关问题