DOM其他事件


DOM其他事件

表单事件

  • focus:元素聚焦的时候触发(能与用户发生交互的元素,都可以聚焦),该事件不会冒泡
  • blur:元素失去焦点时触发,该事件不会冒泡。
  • submit:提交表单事件,仅在form元素有效。
  • change:文本改变事件 文本内容改变后触发 一次性触发
  • input: 文本改变事件,文本内容改变后触发 即时触发

其他事件

window全局对象

  • load 加载完毕所有的资源后触发该事件
    load 用于给单独的元素添加事件比较好 给整个文档注册该事件 猴年马月都难得到值
    window使用load:页面中所有资源全部加载完毕的事件
    媒体元素使用load:媒体资源加载完毕的事件

  • DOMContentLoaded、readystatechange

    浏览器渲染页面的过程:

    1. 得到页面源代码
    2. 创建document节点
    3. 从上到下,将元素依次添加到dom树中,每添加一个元素,进行预渲染
    4. 按照结构,依次渲染子节点

html文档中音频视频图片都是异步加载的 未加载完也会继续执行下面的代码

document的DOMContentLoaded: dom树构建完成后发生

readystate: loading、interactive、complete

interactive:触发DOMContentLoaded事件

complete:触发window的load事件

js代码应该尽量写到页面底部

  • css应该写到页面顶部:避免出现闪烁(如果放到页面底部,会导致元素先没有样式,使用丑陋的默认样式,然后当读到css文件后,重新改变样式)
  • JS应该写到页面底部:避免阻塞后续的渲染,也避免运行JS时,得不到页面中的元素。

大多浏览器不支持 了解即可
beforeunload事件: window的事件,关闭窗口时运行,可以阻止关闭窗口
unload:window的事件,关闭窗口时运行

  • scroll事件:窗口发生滚动时运行的事件

    通过scrollTop和scrollLeft,可以获取和设置滚动距离。

  • resize 窗口尺寸发生改变时运行的事件,监听的是视口尺寸

  • contextmenu 右键菜单事件

  • paste 粘贴事件

  • copy 复制事件

  • cut 剪切事件


文章作者: overwhat
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 overwhat !
评论
  目录