学习笔记——浏览器窗口resize监听

3,997 阅读1分钟

监听方式有以下几种:

// 使用该方法,监听效果更好
window.addEventListener('resize', () => {});

// 这种方法存在监听不到的情况,比如bottom-tab里面监听不到
window.onresize = () => {};

// jQuery 监听方法,但会由于框架或插件问题导致事件无效
$(window).resize(() => {});

removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄:

element.removeEventListener("mousemove", myFunction);

addEventListener 适用于所有主流浏览器,除了 IE 8 及更早版本,如果要兼容 IE 8 及更早版本,使用 attachEvent

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

使用 detachEvent() 方法来移除由 attachEvent() 方法事件句柄:

element.detachEvent(event, function);