Skip to content

DOM 相关

如何阻止事件的冒泡和默认事件

js
event.stopPropagation(); // 阻止事件冒泡
event.preventDefalut(); // 阻止默认事件
event.stopImmediatePropagation(); // 阻止监听同一事件的其他事件监听器被调用
event.stopPropagation(); // 阻止事件冒泡
event.preventDefalut(); // 阻止默认事件
event.stopImmediatePropagation(); // 阻止监听同一事件的其他事件监听器被调用

查找、添加、删除、移动 DOM 节点的方法

  • 查询: getElementById、getElementByTagName、getElementByClassName、querySelector、querySelectorAll
  • 添加: appendChild、insertBefore、insertAfter
  • 删除: removeChild
  • 移动: insertBefore、insertAfter
js
var imooc = document.getElementById('imooc'); // 通过 id 查找

var pList = document.getElementByTagName('p'); // 通过标签名查找 p 标签集合

var imoocList = document.getElementByClassName('imooc'); // 查询类名 imooc 类名集合

var imoocList = docuemnt.querySelectorAll('.imooc'); // 查询类名 imooc 的集合
var imooc = document.getElementById('imooc'); // 通过 id 查找

var pList = document.getElementByTagName('p'); // 通过标签名查找 p 标签集合

var imoocList = document.getElementByClassName('imooc'); // 查询类名 imooc 类名集合

var imoocList = docuemnt.querySelectorAll('.imooc'); // 查询类名 imooc 的集合

高度相关

  • offsetHeight: 包含 padding、content、border 和 滚动条
  • clientHeight: 包含 padding 和 content
  • scrollHeight: 包含 padding 和 内容高度

判断是否有滚动条 scrollHeight >= clientHeight

顶部高度

  • offsetTop: 元素顶部到最近父元素顶部的距离,和有木有滚动条没有关系
  • scrollTop: 滚动条滚动的距离

鼠标事件

按下

  • click: 点击鼠标左键或按下回车键调用
  • dblclick: 双击鼠标左键调用
  • mousedown: 鼠标被按下(左键/右键)时触发,不能通过键盘触发。
  • mouseup: 鼠标按键被松开时触发,不能通过键盘触发。

移动

  • mouseover: 鼠标移入目标元素。鼠标移入子元素也会触发
  • mouseout: 鼠标移出目标元素。鼠标移出子元素也会触发
  • mouseenter: 鼠标移入目标元素。鼠标移入子元素不会触发
  • mouseleave: 鼠标移出目标元素。鼠标移出子元素不会触发
  • mousemove: 鼠标在目标元素内移动时触发,不能通过键盘触发。