addEventListener()メソッドはすべてのブラウザーと互換性があります(イベント監視)

Internet Explorer 8以前のバージョンのIEは、addEventListener()メソッドをサポートしていません。すべてのブラウザーと互換性のあるメソッドを定義できます。

<script>
var x = document.getElementById("myBtn");
if (x.addEventListener) {                    // 所有主流浏览器,除了 IE 8 及更早版本
    x.addEventListener("click", myFunction);
} else if (x.attachEvent) {                  // IE 8 及更早版本
    x.attachEvent("onclick", myFunction);
}
</script>

すべてのブラウザーと互換性を持たせるために、関数を定義できます。addEventListenerがある場合は呼び出し、addEventListenerがない場合はattachEventを呼び出します。

/*
 * 参数:
 *     obj:要绑定事件的对象
 *     eventStr:事件(注意:这里不要on)
 *      callback:回调函数
 */
function bind(obj , eventStr , callback){
    if(obj.addEventListener){
        //大部分浏览器
        obj.addEventListener(eventStr , callback , false);
    }else{
        //IE8及以下
        obj.attachEvent("on"+eventStr , function(){
            //在匿名函数中调用回调函数
            callback.call(obj);
        });
    }
}   

おすすめ

転載: blog.csdn.net/Serena_tz/article/details/114115286