当前位置: 首页 > backend >正文

JavaScript中的BOM,DOM和事件

BOM(浏览器对象模型)

BOM 是浏览器提供的操作浏览器窗口和功能的对象模型,没有统一标准,但各浏览器实现基本一致。

window:BOM 的核心,代表浏览器窗口,是全局对象
document:指向 DOM 树的根节点(同时属于 DOM 和 BOM)
location:操作 URL 相关信息
history:操作浏览器历史记录
navigator:获取浏览器相关信息
screen:获取屏幕相关信息

// 弹出对话框
window.alert("提示信息");
window.confirm("确认操作?");// 页面跳转
window.location.href = "https://www.example.com";// 浏览器历史操作
window.history.back(); // 后退
window.history.forward(); // 前进// 获取浏览器信息
console.log(navigator.userAgent); // 浏览器标识

DOM(文档对象模型)

DOM 是浏览器将 HTML 文档解析后形成的树形结构模型,它将文档中的每个元素都转换为可被 JavaScript 操作的对象。即整个文档是一棵DOM树,根节点是document对象。

目的:增删改查 DOM 节点,实现页面动态变化。

// 获取元素
const element = document.getElementById("id");
const elements = document.getElementsByClassName("class");// 修改内容
element.textContent = "新内容";
element.innerHTML = "<span>HTML内容</span>";// 修改样式
element.style.color = "red";
element.style.fontSize = "16px";// 新增元素
const newDiv = document.createElement("div");
document.body.appendChild(newDiv);// 删除元素
parentElement.removeChild(childElement);

事件

事件是用户与页面交互的行为或浏览器自身的状态变化(如点击、加载完成等),JS 通过 "事件监听" 来响应这些行为。

鼠标事件:click(点击)、mouseover(鼠标移入)、mouseout(鼠标移出)
键盘事件:keydown(按键按下)、keyup(按键释放)
表单事件:submit(表单提交)、change(内容改变)
页面事件:load(页面加载完成)、resize(窗口大小改变)

事件流:
事件触发后会经历三个阶段
捕获阶段:从最外层元素向目标元素传播
目标阶段:到达触发事件的元素
冒泡阶段:从目标元素向最外层元素传播(可通过 event.stopPropagation() 阻止冒泡)

//事件的绑定
const btn = document.getElementById("btn");
btn.addEventListener("click", function() {console.log("处理点击事件");
});

http://www.xdnf.cn/news/18926.html

相关文章:

  • Spring Boot 实战:接入 DeepSeek API 实现问卷文本优化
  • 底层音频编程的基本术语 PCM 和 Mixer
  • 数据分析学习笔记4:加州房价预测
  • 腕上智慧健康管家:华为WATCH 5与小艺的智美生活新范式
  • 音频转PCM
  • curl、python-requests、postman和jmeter的对应关系
  • AR培训系统:油气行业的安全与效率革新
  • frp 一个高性能的反向代理服务
  • PAT 1086 Tree Traversals Again
  • SpringBoot项目使用Liquibase 数据库版本管理
  • C#编译错误:CS1056 意外字符
  • vsgCs显示谷歌全球倾斜模型-节点
  • 第八章:《性能优化技巧》——深入讲解预分配容量、移动语义、避免频繁拼接等优化策略,以及C++17的`string_view`如何减少拷贝开
  • vxetable数据导出
  • UGUI源码剖析(13):交互的基石——Selectable状态机与Button事件
  • Kafka 4.0 五大 API 选型指南、依赖坐标、上手示例与最佳实践
  • 项目实战4:TrinityCore框架学习
  • 科技守护古树魂:古树制茶行业的数字化转型之路
  • 把llamafacoty微调后的模型导出ollama模型文件
  • 【前端教程】JavaScript入门核心:使用方式、执行机制与核心语法全解析
  • Oracle 数据库权限管理的艺术:从入门到精通
  • 目标检测领域基本概念
  • 第6篇:链路追踪系统 - 分布式环境下的请求跟踪
  • JSP程序设计之JSP指令
  • 【Python】QT(PySide2、PyQt5):Qt Designer,VS Code使用designer,可能的报错
  • Java学习笔记之——通过分页查询样例感受JDBC、Mybatis以及MybatisPlus(一)
  • 上海控安:汽车API安全-风险与防护策略解析
  • Java 实现HTML转Word:从HTML文件与字符串到可编辑Word文档
  • Nginx + Certbot配置 HTTPS / SSL 证书(简化版已测试)
  • 机器视觉学习-day07-图像镜像旋转