簡體   English   中英

嵌入SVG onload事件不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM