gpt4 book ai didi

javascript - IE/Edge 单击 SVG 导致错误 - TypeError : Object doesn't support property or method 'blur'

转载 作者:行者123 更新时间:2023-11-29 21:20:40 27 4
gpt4 key购买 nike

我正在使用一个 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)中单击按钮时出现以下错误。

类型错误:对象不支持属性或方法'blur'

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

我们将不胜感激任何帮助。

编辑:

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

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

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

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

最佳答案

这解决了问题

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

关于javascript - IE/Edge 单击 SVG 导致错误 - TypeError : Object doesn't support property or method 'blur' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38648098/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com