2016-07-28 11 views
1

角度コンポーネントを使用しています(問題の原因とは思われませんが角度UIページネーション)私のテンプレートには、次のものが含まれ、そして...IE/Edge SVGをクリックするとエラーが発生する - TypeError:オブジェクトがプロパティやメソッド 'blur'をサポートしない

<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エッジとIE(ただし、クロムではない)で、私は次のエラーを取得するということです。

例外TypeError:オブジェクトはプロパティまたはメソッド「ぼかし」

をサポートしていません、私はボタンではなく、何のアイコンが存在しないエッジをクリックしたときには起こりません。実際にボタンのSVG要素をクリックしてエラーを取得する必要があります。

本当にありがとうございます。

編集:私は、エラーの原因となっている角度-UIライブラリー内の行は、これらが...

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

あることが判明しておりますので

私が編集したくありませんライブラリーは将来私がそれを新しいバージョンに更新することができなくなるためです。

MSブラウザのsvg要素に.blur()関数を追加する可能性はありますか?

+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(){}; 
} 
関連する問題