DOM对象
DOM对象
this 与 e.target
js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;
事件作用的元素(对象) = 注册监听器的元素(对象) event.currentTarget = this = event.target = 事件作用的元素(对象) --(例子中的T)
用最简单的语言总结:
-----
------
target:
代表当前目标对象(事件作用的对象)
currentTarget:
代表注册监听器的对象
this:
和currentTarget一样,即它们的作用相等。
“事件绑定”是针对每个元素进行事件绑定处理,但是新的元素并没有进行事件绑定处理;而“事件委托”,是针对某个选择器下的某种元素,都进行事件处理。所以,只需要这些元素符合这个条件,都会进行事件处理。
DOM对象
DOM 全称是 Document Object Model,也就是文档对象模型。
DOM 就是针对 HTML 和 XML 提供的一个API。什么意思?就是说为了能以编程的方法操作这个 HTML 的内容(比如添加某些元素、修改元素的内容、删除某些元素)。
当浏览器下载到一个网页,通常是 HTML,这个 HTML 就叫 document。
document 通常是整个 DOM 树的根节点,可以通过iframe加载更多页面。
可以通过document访问其子节点。
DOM 是为了操作文档出现的 API,document 是其的一个对象;
BOM 是为了操作浏览器出现的 API,window 是其的一个对象。
视口数值的获取
object.getBoundingClientRect()
object.getBoundingClientRect()
方法返回元素的大小及其相对于视口的位置。
Element.clientWidth与Element.clientHeight
表示元素的内部宽度与高度,以像素计。该属性包括内边距,但不包括垂直滚动条(如果有)、边框和外边距。
window.outerWidth与window.outerHeight
获得的是加上工具条与滚动条窗口的宽度与高度。
window.innerWidth与window.innerHeight
获得的是可视区域的宽高,但是宽度包含了纵向滚动条的宽度。
document.body.clientWidth与document.body.clientHeight
document.body.clientWidth
获得的也是可视区域的宽度,但是document.body.clientHeight
获得的是body内容的高度
上图的
body
设置了width:100%
,所以与document.documentElement.clientHeight
相等。
Last updated