我有角度指示:
<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。
答案 0 :(得分:0)
我找到了另一个解决方案:使用object而不是embed:
<object id="map" type="image/svg+xml" ng-attr-data="{{url}}">