BOM 及窗口加载事件

简介: BOM 及窗口加载事件

BOM 是学习完 DOM 文档对象模型后的另一个对象模型 --------- 浏览器对象模型,它提供了一系列独立于内容而与浏览器窗口进行交互的对象,并且每个对象都有很多方法和属性,核心对象及顶级对象是 window 再来回顾一下 DOM 和 BOM 的区别:


DOM:

  • 文档对象模型
  • 顶级对象为 document
  • 主要学习内容为操作页面元素
  • 标准为 W3C 标准规范


BOM:

  • 浏览器对象模型
  • 顶级对象为 window
  • 主要学习的是浏览器窗口的交互
  • BOM 是浏览器厂商在各自浏览器设定的,兼容性很差


我们要清楚了解:BOM 比 DOM 要大,DOM 是包含在 BOM 里面的


window 对象是浏览器的顶级对象,它既是 JS 访问浏览器的一个接口,也是一个全局对象,定义在全局作用域中的变量和函数都会变成它的一个方法:但是在调用的时候我们通常会省 window,直接 console.log(a)即可,就比如我是河南人,我给别人说我的省份时不用再说我是中国河南人,一个道理

<script>vara=100;
console.log(window.a);
</script>

窗口加载事件

在之前没有学习 BOM 时,我们书写 HTML 和 Script 的顺序是先写完 HTML 再写 Script,目的是先让 HTML加载完,才能执行后面的交互效果,但是学习了 BOM 后,我们就可以实现 Script 标签随意放啦


window.addEventListener('load',function(}) :

这个方法可以使文档内容全部加载完后再执行 JS 的内容,包括了图片,flash,css,脚本文件等等,(如果使用的 window.οnlοad=function(){} 的话那么相同的元素只能被注册一次,并且以最后一次为准,使用该侦听函数注册事件则可以注册多次),Script 标签可以放在 HTML 的前面,也可以放在 head 里面,或者是放在外部,以下便是使用该方法后将 Script 标签放在了 HTML 标签的上部

<script>window.addEventListener('load',function(){
varele=document.querySelector('button');
ele.addEventListener('click',function(){
alert('我弹出啦');
          })
    })
</script><button>按钮</button>


document.addEventListener('DOMContentLoaded',function(}) :

该方法与上面的区别在于,这个事件仅当 DOM 加载完成就可以去执行 JS 的交互内容了,不包括图片,css,flash,脚本文件等等,如果一个页面图片很多,使用 onload 事件将会耗费大量时间,那么使用这个事件去注册将会大大减少用户等待页面的时间

<script>window.addEventListener('DOMContentLoaded',function(){
varele=document.querySelector('button');
ele.addEventListener('click',function(){
alert('我弹出啦');
          })
    })
</script><button>按钮</button>
相关文章
|
5月前
|
JavaScript 前端开发
js怎样获取浏览器窗口尺寸
js怎样获取浏览器窗口尺寸
30 1
|
6月前
|
JavaScript
网页里如何使用js屏蔽鼠标右击事件
网页里如何使用js屏蔽鼠标右击事件
32 0
|
JavaScript
BOM中window对象的方法之弹窗
BOM中window对象的方法之弹窗 之前介绍了window对象的属性,接下来说一说window对象的方法。当然方法有好些,这里主要讲一下window对象的弹窗方法。 // alert() 显示带有一段消息和一个确认按钮的警告框。 window.alert(&quot;这是是一个警告框&quot;); // confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。 返回值 true false var sure=window.confirm(&quot;确认要离开吗?&quot;); console.log(sure); // prompt(&quot;提示文本&quot;
|
JavaScript
BOM中window对象的方法之计时器
BOM中window对象的方法之计时器 前面讲到了window对象的弹窗方法,现在来讲一下计时器方法。 // setInterval(function(){},time,参数,参数) 按照指定的周期(以毫秒计)来调用函数或计算表达式。 var i=0; var timer=setInterval(function(){ i++; console.log(i); }, 1000); // clearInterval(定时器的名称) 取消由 setInterval() 设置的 timeout。 document.
|
JavaScript 前端开发 内存技术
JavaScrip BOM 窗口加载事件
JavaScrip BOM 窗口加载事件
82 0
|
API C# 图形学
编辑器扩展——自定义窗口
Unity 允许用户实现自定义窗口,以实现项目更加灵活且系统的配置。例如关卡编辑器、打包编辑器等等。它是能做出最多自定义功能的,但是实现过程其实也是比较固定的。总得来说自定义窗口最重要的部分其实是窗口内GUI得布局和方法,也就是说你要在窗口里做些什么。
1036 0
|
JavaScript C# 前端开发
c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
原文:c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2 可以实现例如通过应用程序操作google搜索,用户输入要搜索的内容,然后在google中搜索;可以自动点击网页上的按钮等功能     1.
2473 0
|
JavaScript 前端开发 容器