1.1 常用的键盘事件
1.1.1 键盘事件
键盘事件 | 触发条件 |
---|---|
onkeydown | 按键被按下时触发 |
onkeypress | 按键被按下时触发 |
onkeyup | 按键被松开时触发 |
注意:addEventListener事件不需要加on
1.1.2 键盘事件对象
使用keyCode属性判断用户按下哪个键
键盘事件对象<属性> | 说明 |
---|---|
keyCode | 返回该键的ASCII值 |
注意:
-
onkeydown和onkeyup 不区分字符大小写,onkeypress区分字符大小写
1.2 BOM
1.2.1 什么是BOM
BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是 window。
BOM 由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。
BOM 缺乏标准,JavaScript 语法的标准化组织是 ECMA,DOM 的标准化组织是 W3C。
DOM | BOM |
---|---|
文档对象模型 | 浏览器对象模型 |
DOM把文档看作一个对象 | BOM把浏览器当作一个对象 |
DOM顶层对象是document | BOM顶层对象是window |
DOM学习的是如何操作页面的元素 | BOM学习的是浏览器窗口交互的的对象 |
DOM是W3C标准规范 | BOM是浏览器厂商在各自浏览器上定义的,兼容性差 |
1.2.2 BOM的构成
BOM 比 DOM 更大,它包含 DOM。
1.2.3 window
-
window对象是浏览器的顶级对象
-
它是JS访问浏览器窗口的一个接口
-
它是一个全局对象,之前学过的alert()、prompt()、log();等都属于window
1.2.4 window对象常见事件
窗口/页面加载事件
第1种
-
window.onload 是窗口 (页面)的加载事件,当文档内容完全加载完成会触发该事件(包括图像、CSS、JS 文件等)就调用的处理函数。
可以认为是同步的。
-
语法:
-
window.onload = function( ){ }
-
window.addEventListener("load",function( ){ });
-
-
注意:
-
window.onload可以把JS代码写到页面元素的上方,因为onload是等页面所有内容加载完才回去执行处理函数
-
第2种
-
DOMContentLoaded 事件触发时,仅当DOM元素结构加载完成执行,不包括CSS,JS,图像等等。
-
语法
-
document.addEventListener('DOMContentLoaded',function(){ });
-
-
注意:
-
如果页面的图片很多的话, 从用户访问到onload触发可能需要较长的时间, 交互效果就不能实现,必然影响用户的体验,
-
此时用 DOMContentLoaded 事件比较合适,可以认为DOMContentLoaded是异步的
-