javascript-在SVG上IE / Edge单击会导致错误-TypeError:对象不支持属性或方法’blur’
作者:互联网
我正在使用角度组件(角度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:对象不支持属性或方法“模糊”
单击按钮但没有图标的边缘不会发生这种情况.我必须实际单击按钮上的SVG元素以获取错误.
任何帮助将不胜感激.
编辑:
从那以后我发现导致错误的angular-ui库中的行是这些…
if (evt && evt.target) {
evt.target.blur();
}
我不想编辑该库,因为将来我将无法将其更新为较新的版本.
是否有可能在MS浏览器中将.blur()函数添加到svg元素?
解决方法:
这解决了问题
if (typeof SVGElement.prototype.blur == 'undefined') {
SVGElement.prototype.blur = function(){};
}
标签:microsoft-edge,javascript,angularjs,svg,internet-explorer 来源: https://codeday.me/bug/20191011/1895334.html