IE/Edge click on SVG causes error - TypeError: Object doesn't support property or method 'blur'

IE/Edge click on SVG causes error - TypeError: Object doesn't support property or method 'blur'

我正在使用 angular 组件(Angular UI 分页,但我认为这不是问题的原因),我的模板包括以下内容。 ..

<my-button ng-click="selectPage(totalPages, $event)">
    <svg>
        <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="domain.com/scgSprite.svg#arrow"></use>
    </svg>
</my-button>

问题是在 MS Edge 和 IE 中(但不是 chrome)单击按钮时出现以下错误。

TypeError: 对象不支持 属性 或方法 'blur'

当我点击按钮时没有发生,但在没有图标的边缘。我必须实际单击按钮上的 SVG 元素才能得到错误。

非常感谢任何帮助。

编辑:

后来我发现 angular-ui 库中导致错误的行是这些...

if (evt && evt.target) {
    evt.target.blur();
}

我不想编辑库,因为那样我以后就无法将它更新到新版本了。

是否可以将 .blur() 函数添加到 MS 浏览器中的 svg 元素?

这解决了问题

if (typeof SVGElement.prototype.blur == 'undefined') {
    SVGElement.prototype.blur = function(){};
}