嵌入 SVG 加载事件不起作用
Embed SVG onload event does not work
我有角度指令:
<div>
<embed ng-src="{{url}}" id="map" type="image/svg+xml/>
</div>
我需要在加载 svg 时执行代码,因此,我在 dom ready 上添加了加载操作侦听器
// on dom ready
$timeout(function(){
$("#map")[0].onload = onSVGReady;
});
这里 map 是嵌入元素的 ID,osSVGReady 是动作处理程序。
此方法在第一次加载 svg 时有效,当 url 更改时,不执行 onSVGReady 处理程序。
顺便说一句,当我将加载处理程序直接添加到元素时,它可以工作:
<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}}">
相关文章:
- JsFiddle上的鼠标事件不起作用
- 在IE8中不起作用的元素上触发单击事件
- 链接上的IE10 jquery句柄单击事件不起作用
- Javascript点击事件回调不起作用
- jQuery加载完成事件不起作用
- 覆盖单击事件不起作用
- 鼠标事件在OpenLaszlo应用程序中不起作用
- 单击事件不起作用
- 插入后单击锚点标记上的事件after不起作用
- 为什么body元素上的onclick事件不起作用
- 追加Jquery后的Binding Click事件不起作用
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- 添加事件侦听器不起作用
- onclick事件在asp.net上不起作用
- jQuery调用keyup事件不起作用
- 单击事件在jquery easyui多选项卡中不起作用
- jQuery ContextMenu事件在IOS 8.2中不起作用
- 第二个事件[onClick]不起作用
- 按键事件上的简单HTML输入不起作用
- Keyup事件在easyui上不起作用