JavaWeb1 Json+BOM+DOM+事件监听

news2024/11/20 1:50:21

JS对象-Json

//Json 字符串转JS对象
var jsObject  = Json.parse(userStr);
//JS对象转JSON字符串
var jsonStr = JSON.stringify(jsObject);

JS对象-BOM

BOM是浏览器对象模型,允许JS与浏览器对话
它包括5个对象:window、document、navigator、screen、history
常用方法:

alert():弹出一个警告框,用于提示用户。

window.alert("hello");

confirm():弹出一个确认框,用于确认或取消某个操作。
prompt():弹出一个输入框,用于用户输入一些内容。
setTimeout():在指定的毫秒数后执行一次指定的函数或一段代码。
setInterval():每隔指定的毫秒数重复执行一次指定的函数或一段代码。

location

window.location.属性(其中window可以省略)

location.href//获得地址

DOM对象

文档对象模型
将标记语言的各个 组成部分封装为对应的对象:
在这里插入图片描述

getElementById():根据id属性获取一个元素节点。
getElementsByClassName():根据class属性获取一组元素节点。
getElementsByTagName():根据标签名获取一组元素节点。
querySelector():根据CSS选择器获取一个元素节点。
querySelectorAll():根据CSS选择器获取一组元素节点。

<!-- HTML代码 -->
<ul id="list">
  <li class="item">第一项</li>
  <li class="item">第二项</li>
  <li class="item">第三项</li>
</ul>
// 根据id获取元素
var list = document.getElementById('list');
console.log(list);
 
// 根据class获取元素
var items = document.getElementsByClassName('item');
console.log(items);
 
// 根据标签名获取元素
var lis = document.getElementsByTagName('li');
console.log(lis);
 
// 根据CSS选择器获取元素
var firstItem = document.querySelector('.item');
console.log(firstItem);
 
var allItems = document.querySelectorAll('.item');
console.log(allItems);

JS事件监听

1.通过HTML标签中的事件属性绑定

<button id="myButton" onclick="on()">点击我</button>
function on(){
	alert("点了");
}

2.通过DOM属性绑定

<button id="myButton">点击我</button>

(1) -> 语法 事件源.on事件类型 = 事件处理函数
-> 特点 同一个事件源的同一个事件类型只能绑定一个事件处理函数
(2) -> 语法 事件源.addEventListener(‘事件类型’, 事件处理函数)
-> 特点 可以个同一个事件源的同一个事件类型绑定多个事件处理函数,会按照顺序依次触发

// 获取按钮元素
var button = document.getElementById('myButton');
//语法(1)
 button.onclick=function(){
 	console.log("点了");
 }
// 语法(2)为按钮绑定点击事件
button.addEventListener('click', function() {
    alert('按钮被点击了!');
});
常见事件

JS事件绑定 各种事件讲解见:https://blog.csdn.net/huangwfu/article/details/128554495
常见的事件类型

  1. 鼠标事件
    click 鼠标左键点击
    dblclick 鼠标左键双击
    contextmenu 鼠标右键单击
    mousedown 鼠标按下
    mouseup 鼠标抬起
    mousemove 鼠标移动
    mouseover 鼠标移入
    mouseout 鼠标移出
    mouseenter 鼠标移入事件
    mouseleave 鼠标离开
  2. 键盘事件
    keydown 键盘按下事件
    keyup 键盘抬起
    keypress 键盘键入事件
    。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1791613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【人工智能】第一部分:ChatGPT的基本概念和技术背景

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

王道408数据结构CH3_栈、队列

概述 3.栈、队列和数组 3.1 栈 3.1.1 基本操作 3.1.2 顺序栈 #define Maxsize 50typedef struct{ElemType data[Maxsize];int top; }SqStack;3.1.3 链式栈 typedef struct LinkNode{ElemType data;struct LinkNode *next; }*LiStack;3.2 队列 3.2.1 基本操作 3.2.2 顺序存储…

C++ Primer 总结索引 | 第十五章:面向对象程序设计

继承和动态绑定 对程序的编写 有两方面的影响&#xff1a;一是 我们可以更容易地定义与其他类相似 但不完全相同的新类&#xff1b;二是 在使用这些彼此相似的类编写程序时&#xff0c;我们可以在一定程度上 忽略掉它们的区别 在很多程序中都存在着一些相互关联 但是有细微差别…

用幻灯片讲解C++手动内存管理

用幻灯片讲解C手动内存管理 1.栈内存的基本元素 2.栈内存的聚合对象 3.手动分配内存和释放内存 注意&#xff1a;手动分配内存&#xff0c;指的是在堆内存中。 除非实现自己的数据结构&#xff0c;否则永远不要手动分配内存! 即使这样&#xff0c;您也应该通过std::allocator…

Linux 磁盘分区步骤

1.lsblk用于查看磁盘分区情况&#xff0c;lsblk -f用于查看uuid字符串以及挂载点。 以下是虚拟机部分添加磁盘的步骤。 其余没展示的都按照默认设置进入下一步即可。 2.添加完成后使用reboot重新进入后再使用lsblk就会发现磁盘sdb已经有了&#xff0c;但是没有分区。现在添加分…

Docker部署青龙面板

青龙面板 文章目录 青龙面板介绍资源列表基础环境一、安装Docker二、安装Docker-Compose三、安装青龙面板3.1、拉取青龙&#xff08;whyour/qinglong&#xff09;镜像3.2、编写docker-compose文件3.3、检查语法启动容器 四、访问青龙面板五、映射本地部署的青龙面板至公网5.1、…

JAVA小案例-break练习,随机数,到88停止

JAVA小案例-break练习&#xff0c;随机数&#xff0c;到88停止 代码如下&#xff1a; public class Break {/*** break练习&#xff0c;随机数&#xff0c;到88停止* param args*/public static void main(String[] args) {int count0;//计数器System.out.println("Begi…

揭秘AI 原生应用技术栈

一次性把“AI 原生应用技术栈”说明白 AI热潮持续&#xff0c;厂商努力推动有价值的应用涌现&#xff0c;并打造服务AI原始应用的平台产品。本文精简介绍业界最新的AI原生应用技术栈&#xff0c;让您迅速把握前沿科技脉搏。 整体架构 AI技术栈逻辑图精简呈现&#xff0c;多层…

搭建私有CA

1.设置独立服务器这台服务器就作为私有CA服务器 2.更新请求yum源 echo "#############Init Yum Source Start....." mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.…

编写备份MySQL 脚本

目录 环境准备 增量备份 增量备份和差异备份 完整代码如下 测试脚本是否正常 星期天运行脚本&#xff08;完全备份&#xff09; 星期一运备份脚本&#xff08;增量备份&#xff09; 星期二备份数据&#xff08;其他天--增量备份&#xff09; 星期三备份数据&#xff08;差异备…

Terraform安装+部署Azure Resource笔记

安装 下载 Terraform&#xff1a; 首先&#xff0c;访问 官方 Terraform 网站。找到适用于 Windows 的 Terraform 包&#xff0c;并下载 zip 文件。解压 Terraform 包&#xff1a; 将下载的 zip 文件解压到一个新文件夹中&#xff0c;命名为 “Terraform”。可以选择任何位置作…

【Linux】Linux工具——gdb

1. gdb 概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许&#xff0c;各位比较喜欢那种图形界面方式的&#xff0c;像VC、BCB等IDE的调试&#xff0c;但如果你是在 UNIX平台下做软件&#xff0c;你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能…

创新“智”领长江经济带高质量发展研讨会调研实在智能

近日&#xff0c;创新“智”领长江经济带高质量发展研讨会暨央企智库沙龙第46期在浙江杭州顺利召开。 会议由中国联通主办&#xff0c;中国联通研究院、浙江联通、浙江省人民政府国有资产监督管理委员会联合承办&#xff0c;长江经济带沿线中央企业、地方国资国企等60余家单位…

SLAM精度评估—evo

evo是一款用于SLAM轨迹精度的评估工具。核心功能是&#xff08;1&#xff09;能够绘制&#xff08;传感器运动&#xff09;轨迹&#xff0c;&#xff08;2&#xff09;评估估计轨迹与真值&#xff08;ground truth&#xff09;的误差。evo支持多种数据集的轨迹格式(TUM、KITT、…

eNSP学习——连接RIP与OSPF网络、默认路由

目录 相关主要命令 实验一、连接RIP与OSPF网络 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建RIP和OSPF网络 3、配置双向路由引入 4、手工配置引入时的开销值 实验二、使用OSPF、RIP发布默认路由 原理介绍 实验目的 实验内容 实…

认识微服务,认识Spring Cloud

1. 介绍 本博客探讨的内容如下所示 什么是微服务&#xff1f;什么是springcloud&#xff1f;微服务和springcloud有什么关系&#xff1f; 首先&#xff0c;没有在接触springcloud之前&#xff0c;我写的项目都是单体结构&#xff0c; 但随着网站的用户量越来越大&#xff0c;…

CSS函数:scale、scale3d函数的使用

CSS函数scale()主要是为了实现元素的放大和缩小效果&#xff0c;使用的是元素的变换效果。使用的是元素的转换属性&#xff1a;transform的&#xff0c;该函数可以实现指定X轴和Y轴的放大、缩小效果。除此之外&#xff0c;我们还可以通过如下两种方式实现指定方向的转换&#x…

【Unity每日一记】效应器你应该知道是什么吧!五大2D效应器组件

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

企业im即时通讯WorkPlus私有化部署适配国产信创环境

在信息化时代&#xff0c;高效的沟通和协作对于企业的运营至关重要。企业IM即时通讯平台提供了一种便捷、实时的沟通工具&#xff0c;旨在改善企业的内部和外部沟通效率。然而&#xff0c;随着企业对数据安全性和隐私保护的要求不断提高&#xff0c;许多企业开始选择私有化部署…

GPT-4o:人工智能技术的新里程碑

在人工智能领域&#xff0c;技术的不断演进为我们带来了许多惊喜。最近&#xff0c;GPT-4o横空出世&#xff0c;成为了人工智能技术的新里程碑。在这篇博客中&#xff0c;我们将对GPT-4o进行评价&#xff0c;并进行版本间的对比分析&#xff0c;探讨其技术能力以及个人整体感受…