当document height发生变化时的事件是什么,resize只能用于window吗?
document height发生变化时的事件是什么?
答案是有好几个,因为不同时代与浏览器、标准背景造成的:
DOMAttrModified: 属于DOM3标准Mutation events的其中一员,这个也是浏览器之间不太相容的一个标准。IE9部份支持,Webkit类的Chrome与Safari不支持。标准中已弃用,但还有一些旧的浏览器支持。
所以,你要统一性的解决方式,最好使用有人写好的库,或是可以符合从旧到新版本的浏览器的情况。
像这个是attrchange是个jQuery插件,就有考量到上面三种事件。
里面有一个ResizeSensor类,可以"感应"出目前被更动了,范例如下:
var element = document.getElementById('myElement');
new ResizeSensor(element, function() {
console.log('Changed to ' + element.clientWidth);
});
resize只能用于window吗?
是的,只有window有绑定这个事件GlobalEventHandlers.onresize
高度写死的话。不适用,高度自适应可以用这个。
window.addEventListener('resize',() => {
if(document宽度未改变){
return false
}else{
//js
}
},false)
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答895 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
试下这个