IE8对象不支持属性或方法' addEventListener'

时间:2016-12-02 12:53:08

标签: javascript tabs addeventlistener jquery-ui-accordion

我收到IE8用户的投诉(我知道)他们无法打开手风琴标签。

出现以下错误:

SCRIPT438:对象不支持属性或方法' addEventListener'

        document.addEventListener( "DOMContentLoaded", completed, false );
        window.addEventListener( "load", completed, false );
        }
       }
      return readyList.promise( obj );
    };
 jQuery.ready.promise();

我目前正在使用jquery 2.1.3

此错误也会再次出现在以下脚本中:

<script type='text/javascript'>
$( document ).ready(function() {
document.getElementById('txt1').addEventListener('change', function () {
var style = this.value == 'GP Practice' ? 'block' : 'none';
document.getElementById('txtpcode').style.display = style;
 });
 });
 </script>

在IE8下是否可以使用它,因为我知道addEventListener不受支持。

2 个答案:

答案 0 :(得分:1)

在IE8下,您需要使用attachEvent。使用纯JavaScript,您需要检测用户的浏览器支持并使用attachEventaddEventListener

但我建议您使用JQueryon()功能。它包含逻辑,可以在每个浏览器中使用。

答案 1 :(得分:0)

<强>语法

attached = target.attachEvent(eventNameWithOn,callback)

:定位

上侦听事件的DOM元素

<强> eventNameWithOn

要侦听的事件的名称,以&#34; on&#34;为前缀,就像它是一个事件处理程序属性一样。例如,你会使用&#34; onclick&#34;听取点击事件。

<强>回调

在此目标上触发事件时调用的回调函数。将不带参数调用该函数,并将此引用设置为window对象。 附 指示事件处理程序是否已成功附加的布尔值。