[英]Embed SVG onload event does not work
我有角度指令:
<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是動作處理程序。
這種方法在首次加載svg且url更改時不執行onSVGReady處理程序時有效。
順便說一句,當我將onload handler直接添加到元素時,它的工作原理是:
<embed ng-src="{{url}}" id="map" type="image/svg+xml" onload="console.log('Yes')"/>
我究竟做錯了什么?
謝謝。
我發現了另一個解決方案:使用對象而不是嵌入:
<object id="map" type="image/svg+xml" ng-attr-data="{{url}}">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.