現象
(おおまかに言うと)こういう感じの分岐をやってるところで、
var ua = navigator.userAgent.toLowerCase();
var hogeElement = document.getElementById('hoge');
if (/msie/.test(ua)) {
hogeElement.attachEvent('click', iehoge);
} else {
hogeElement.addEventListener('click', hoge, false);
}
通常、IE11は、「MSIE
」が含まれないのでセーフだが、
互換モードの IE11は、UAが以下の様になるのでアウト。
という事象を見た。
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
改善
自力で判定するにしても、addEventListener
用の判定なので、addEventListener
で判定すべき。
if (el.addEventListener){
el.addEventListener('click', modifyText, false);
} else if (el.attachEvent){
el.attachEvent('onclick', modifyText);
}
https://developer.mozilla.org/ja/docs/Web/API/EventTarget.addEventListener
(念のため)両方ある IE9 には少し注意しましょう。