概述 BOM 是 Browser Object Model 的缩写,就是浏览器对象模型;BOM 提供了与浏览器窗口进行交互的对象;BOM 就是由一系列相关的对象构成,并且每个对象都用于许多的方法和属性,其核心对象是 window
【WebAPI-window对象的常见事件】与 DOM 和 JavaScript 不同,DOM 拥有标准化组织 W3C, JavaScript 的语法标准化组织是 ECMA,而 BOM 没有官方标准,BOM 最初是 Netscape 浏览器标准的一部分,也就是说:对于现代浏览器,每个浏览器都有自己的 BOM 实现方法,所以直接使用BOM会存在兼容性问题。
BOM 比 DOM 更大,BOM 包含 DOM。
window 对象 window
对象是核心对象,也是浏览器的顶级对象;在全局作用域中定义的变量、函数都会归属为 window 对象的属性和方法,所以在调用的时候可以省略 window 前缀。
例如: window.alert 可以简写为 alert()
window 对象也是 JS 访问浏览器的一个接口
window 对象中有一个特殊的属性 name
,所以在声明变量的时候要避免使用它
// 没有定义变量直接使用,正常情况会直接报错
console.log(name) // 没有报错,输出的是空字符串;是因为 window 对象拥有该属性,默认为空字符串
console.log(window)
window 对象常见事件 窗口(页面)加载事件
load
在页面内容全部加载完成后(包括图像、脚本文件、CSS 文件等)会触发该事件;所以通过该事件就可以将 JS 代码写在页面元素的上方。该事件可以通过
on
前缀来注册window.onload = fn也可以通过
addEventListener()
方法来注册window.addEventListener(‘load’, fn, false)需要注意的是:通过 on 注册的事件相同事件只能注册一次,如果多次注册相同的事件,后者会覆盖前者;通过 addEventListener() 方法可以注册多个相同的事件,事件会按照注册的顺序依次执行。
示例:
type="text/javascript">
// 注册 load 事件
window.onload = function() {
function $(selector) {
return document.querySelector(selector)
}
// 为元素注册点击事件
$('#btn').onclick = function() {
alert('触发了点击事件!')
}
}
文章图片
调整窗口大小事件
resize
当浏览器窗口或框架(可视区域)的大小(像素)发生变化时会触发该事件;通过该事件可以设置响应式布局。示例:
>
var box = document.querySelector('#box')
// 注册 resize 事件
box.onresize = function() {
// 当浏览器窗口小于等于时隐藏指定标签
if (window.innerWidth <= 600) {
box.style.display = 'none'
} else {
box.style.display = 'block'
}
}
CSS:
#box {
width: 200ppx;
height: 200px;
background: skyblue;
}
补充:
window.innerWeight
用于获取浏览器窗口可视区域的宽度,window.innerHeight
获取浏览器窗口可视区域的高度推荐阅读
- .NetCore|从零开始学习 asp.net core 3.1 web api 后端api基础框架(一)-环境介绍
- .NetCore|从零开始学习 asp.net core 3.1 web api 后端api基础框架(七)-添加一个查询单笔数据的方法
- 编程语言|webAPI 第一天
- webAPI重要知识点
- WebAPI|完整轮播图(4)
- WebApi 单元测试
- WebAPI详解