2016-07-28 40 views
1

我正在使用角度組件(Angular UI分頁,雖然我不認爲它是問題的原因)和我的模板包括以下...IE /邊緣點擊SVG導致錯誤 - TypeError:對象不支持屬性或方法'模糊'

<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(但不是鍍鉻),點擊按鈕時,我得到了下面的錯誤。

類型錯誤:對象不支持屬性或方法「模糊」

當我按一下按鈕,但在那裏是沒有圖標的邊緣這不會發生。我不得不點擊按鈕上的SVG元素來獲取錯誤。

任何幫助真的不勝感激。

編輯:

因爲我已經發現,在角的UI庫,導致錯誤的線是這些...

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

我不想編輯因爲那時我將無法將它更新到更新的版本。

有沒有可能將.blur()函數添加到MS瀏覽器中的svg元素?

+0

如果你不介意我問,您使用的這些邊緣的版本?另外,您是否能夠在Stack Overflow或者http://jsfiddle.net上提供最小的複製作爲工作片段? – Sampson

+0

我可以告訴你的版本號是Microsoft Edge 25.10586.0.0 Microsoft EdgeHTML 13.10586。創建一個小提琴需要一段時間,但可能已經有一個在那裏使用Angular-UI Bootstrap分頁控件,並在下一個或上一個按鈕上使用svg? – jonhobbs

+0

如果不會帶來太多不便,我會欣賞一個小小提琴,它可以在不需要太多代碼的情況下重現問題。我是Edge團隊的一名工程師,這可能是我們應該考慮支持更好的跨瀏覽器支持。 – Sampson

回答

0

這解決了這一問題

if (typeof SVGElement.prototype.blur == 'undefined') { 
    SVGElement.prototype.blur = function(){}; 
} 
相關問題