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

服务器做jsp网站教程视频/网站推广的基本方法

服务器做jsp网站教程视频,网站推广的基本方法,宁夏建设网站,濮阳网络安全报警电话文章目录 1.HTML DOM1.1 表单相关元素① form 元素② 文本输入框类和文本域(input 和 textarea)③ select 元素 1.2 表格相关元素① table 元素② tableRow 元素(tr 元素)③ tableCell 元素 (td 或 th) 1.3…

文章目录

  • 1.HTML DOM
    • 1.1 表单相关元素
      • ① form 元素
      • ② 文本输入框类和文本域(input 和 textarea)
      • ③ select 元素
    • 1.2 表格相关元素
      • ① table 元素
      • ② tableRow 元素(tr 元素)
      • ③ tableCell 元素 (td 或 th)
    • 1.3 快速创建 img 元素
  • 2.事件
    • 3.1 事件监听
      • ① 给元素监听事件的三种方式
      • ② 解除事件的监听
    • 3.2 事件流
    • 3.3 事件的回调函数中 this 的指向
  • 4.常用事件总结
    • 4.1鼠标事件
    • 4.2 键盘事件
    • 4.3 文档事件
    • 4.4 表单事件
    • 4.5 图片事件
    • 4.6 过渡事件
    • 4.7 动画事件
    • 4.8 其他事件
  • 5 Event 对象
    • 5.1 获取 Event 对象
    • 5.2 鼠标事件对象 MouseEvent 的属性和方法
    • 5.3 键盘事件对象 KeyborardEvent 的属性和方法
    • 5.4 所有类型的事件对象都有的属性和方法
    • 5.5 阻止事件冒泡
    • 5.6 浏览器的默认行为
      • ① 浏览器有哪些默认行为
      • ② 阻止浏览器默认行为
    • 5.7 事件委托(事件委派)
  • 6 DOM 对象深入分析
    • 6.1 元素对象的原型链关系(了解)
    • 6.2 事件对象的原型链关系(了解)
    • 6.3 HTMLCollection 和 NodeList 的区别
      • ① HTMLCollection 对象
      • ② NodeList

1.HTML DOM

1.1 表单相关元素

① form 元素

length		获取该表单中表单控件的数量
elements    获取该表单中表单控件元素的集合submit()	执行该方法表单会提交
reset()     执行该方法表单会重置

② 文本输入框类和文本域(input 和 textarea)

blur()		执行该方法会失去焦点
focus()		执行该方法会获取焦点
select()	执行该方法会选中里面的文字

③ select 元素

length				获取到选项的数量
options				获取到所有选项元素的集合
selectedIndex		获取当前被选中的选项的索引add(option元素)		添加一个新的选项
remove(选项的索引)	  删除指定索引的选项
blur()				 执行该方法会失去焦点
focus()				 执行该方法会获取焦点

快速创建 option 元素的方式:

new Option('内容''value值')

1.2 表格相关元素

① table 元素

rows			获取所有行元素的集合insertRow(索引)	添加一行,如果不设置参数添加到最后
deleteRow(索引)	删除一行

② tableRow 元素(tr 元素)

rowIndex		本行的索引
cells			获取本行中单元格元素的集合insertCell(索引)	添加一个单元格,,如果不设置参数添加到最后
deleteCell(索引)	删除一个单元格

③ tableCell 元素 (td 或 th)

cellIndex		本单元格的索引(同一行内)

1.3 快速创建 img 元素

new Image();
new Image(width, height);

2.事件

3.1 事件监听

① 给元素监听事件的三种方式

第一种方式: 事件作为HTML标签的属性:

<标签名 on事件名="代码..."></标签名>
相同的事件如果设置多次,只有前面的生效!

第二种方式: 事件作为元素对象的方法:

元素对象.on事件名 = 回调函数;
相同的事件如果设置多次,最后面的生效!

第三种方式:使用 addEventListenrer 方法:

元素对象.addEventListener('事件名', 回调函数);
相同的事件如果设置多次,都可以生效!

② 解除事件的监听

第一种和第二种方式监听的事件:

元素对象.on事件名 = null;

第三种方式监听的事件:

元素对象.removeEventListener('事件名', 函数名);

3.2 事件流

事件触发的过程分为三个阶段:

捕获阶段: 从 window、document 、html 开始层层向下,直到找到具体发生了事件动作的元素,该元素称为目标元素。

目标阶段: 找到目标元素的那一刻,标志着捕获阶段的结束,冒泡阶段的开始。

冒泡阶段: 从目标元素开始,层层向上,直到 html、document、window, 事件的回调函数默认在冒泡阶段执行。

注意:事件流也可以只分为捕获阶段和冒泡阶段。

注意: addEventListener 设置第三个参数为 true,该事件会在捕获阶段触发!

3.3 事件的回调函数中 this 的指向

this 指向事件监听的元素!

4.常用事件总结

4.1鼠标事件

click			单击				
dblclick		双击
contextmenu		右击,菜单事件		
mousedown		鼠标按键按下		
mouseup			鼠标按键抬起
mousemove		鼠标在元素上移动		
mouseover		鼠标进入元素
mouseout		鼠标离开元素
mouseenter		鼠标进入元素,用来代替 mouseover,后代元素不会冒泡		
mouseleave		鼠标离开元素,用来代替 mouseout,后代元素不会冒泡		
mousewheel		滚轮事件,用于	Chrome、Safari、Opear、Edge	
DOMMouseScroll	滚轮事件,用于 Firefox,只能通过 addEventListener 监听事件

鼠标按键按下和抬起事件如何获取按的是哪个键?

事件对象有button属性,值规则如下:
0	左键
1   滚轮键
2   右键

鼠标移动事件中如何获取鼠标位置?

通过事件对象获取鼠标光标的位置,具有如下属性:
offsetX / offsetY		获取鼠标在目标元素上的位置
clientX / clientY		获取鼠标在视口上的位置
pageX / pageY			获取鼠标在页面上的位置
screenX / screenY		获取鼠标在屏幕上的位置

滚轮滚动事件兼容性处理:

// Chrome、Safari、Opear、IE
window.onmousewheel = wheelScrollFn;// Firefox 浏览器
window.addEventListener('DOMMouseScroll', wheelScrollFn);// 定义滚轮事件的回调函数
function wheelScrollFn(event) {if (event.wheelDelta) {// chrome、safari、ie 等if (event.wheelDelta < 0) {console.log('滚轮向下滚');} else {console.log('滚轮向上滚');}} else if (event.detail) {// firefox 浏览器if (event.detail > 0) {console.log('滚轮向下滚');} else {console.log('滚轮向上滚');}}
}

4.2 键盘事件

keydown		键盘按键按下
keyup		键盘按键抬起
keypress	键盘按键按下

keypress 和 keydown 的区别:

keypress:
控制按键不能触发,只有可输入字符按键才能触发
可以区分字母按键的大小写keydown:
所有的按键按下都可以触发
无法区分字母按键的大小写

哪些元素可以监听键盘事件?

1. 表单控件元素,获取焦点之后按键盘
2. document对象

如何获取按的是哪个键?

通过事件对象获取,键盘事件对象具有如下属性:
keyCode		获取所按按键对应的ascii码,是个数字
which		同keyCode
key			获取所按按键的名字,是个字符串

4.3 文档事件

load				文档加载完毕,需要监听到window或者body元素
DOMContentLoaded	文档加载完毕,需要监听到window或者body元素				

load 事件与 DOMContentLoaded 事件的区别:

load: 文档中所有的一切加载完毕,包括引用的外部文件
DOMContentLoaded: 文档中元素加载完毕,不包括引用的外部文件,只能使用addEventListener监听事件

4.4 表单事件

submit		表单提交的时候,需要监听到form元素上  
reset		表单重置的时候,需要监听到form元素上     
blur		失去焦点的时候,需要监听到表单控件元素			   
focus		获取焦点的时候,需要监听到表单控件元素		
select		里面的文字内容被选中的时候,需要监听到输入框或文本域元素上  
input		输入框内容改变,需要监听到输入框或文本域元素上     
change		监听到输入框元素,输入的内容改变且失去焦点监听到选择框元素,一改变就触发

4.5 图片事件

load		图片加载完毕
error		图片加载失败

4.6 过渡事件

transitionstart		过渡开始事件,过渡延迟之后触发
transitionrun 		过渡开始事件,过渡延迟之前触发
transitionend		过渡结束事件

4.7 动画事件

animationstart		动画开始事件,延迟之后触发
animationend		动画结束之后
animationiteration	动画每执行一次就触发一次

4.8 其他事件

scroll		滚动事件,需要监听给内容可以滚动的元素或者window
resize		视口尺寸改变事件, 需要监听给window

5 Event 对象

5.1 获取 Event 对象

给事件的回调函数设置形参,自动获取到事件对象

5.2 鼠标事件对象 MouseEvent 的属性和方法

button				按键值, 0表示左键,1表示滚轮键,2表示右键
offsetX / offsetY   获取鼠标在目标元素上的位置
clientX / clientY	获取鼠标在视口上的位置
pageX / pageY		获取鼠标在页面上的位置	
screenX / screenY	获取鼠标在屏幕上的位置

5.3 键盘事件对象 KeyborardEvent 的属性和方法

keyCode		获取按键对应的ascii码,是个数字
which		同keyCode
key			获取按键的名字,是个字符串

5.4 所有类型的事件对象都有的属性和方法

type		获取事件名
timeStamp	获取事件触发时的时间戳(从页面打开的那一刻开始算)
target		获取目标元素stopPropagation()	阻止事件冒泡
preventDefault()	阻止浏览器默认行为

5.5 阻止事件冒泡

事件对象.stopPropagation()

5.6 浏览器的默认行为

① 浏览器有哪些默认行为

1. 点击超链接跳转
2. 点提交按钮会按回车键表单可以提交; 点重置按钮表单重置
3. 鼠标右键弹出系统菜单
4. 滚动滚轮页面滚动
...

② 阻止浏览器默认行为

1. 事件对象.preventDefault()
2. 如果是第二种事件监听方式, return false 也可以阻止浏览器默认行为

5.7 事件委托(事件委派)

事件委托的原理:

1. 将事件监听到某个祖先元素
2. 在事件的回调函数进行判断, 只有目标元素是指定的元素才进行相应的操作可以使用 event.target 获取目标元素,类名、标签名都可以作为判断依据

事件委托能解决什么问题?

1. 让新增加的元素也具有事件
2. 如果需要给大量的元素监听事件,使用事件委托可以提升效率,减少内存

6 DOM 对象深入分析

6.1 元素对象的原型链关系(了解)

div元素对象 -> HTMLDivElement.prototype -> HTMlElement.prototype -> Element.prototype -> Node.prototype -> EventTarget.prototype -> Object.prototype

6.2 事件对象的原型链关系(了解)

以鼠标事件对象为例:

鼠标事件对象 -> MouseEvent.prototype -> UIEvent.prototype -> Event.prototype -> Object.prototype

6.3 HTMLCollection 和 NodeList 的区别

① HTMLCollection 对象

1. 能够返回HTMLCollection 对象的属性和方法: getElementsByTagName()、getElementsByClassName()、children
2. HTMLCollection 对象的成员只能是元素类型对象 
3. 没有 forEach 方法
4. 是动态的集合,如果文档中新增了满足条件的元素,集合会自动更新

② NodeList

1. 能够返回 NodeList 对象的属性和方法: querySelectorAll()、getElementsByName()、childNodes
2. NodeList 对象的成员可以是节点类型的对象(包括元素类型、document 等)
3. 具有 forEach 方法
4. 静态的集合

相关文章:

学习JavaScript第五天

文章目录 1.HTML DOM1.1 表单相关元素① form 元素② 文本输入框类和文本域&#xff08;input 和 textarea&#xff09;③ select 元素 1.2 表格相关元素① table 元素② tableRow 元素&#xff08;tr 元素&#xff09;③ tableCell 元素 &#xff08;td 或 th&#xff09; 1.3…...

pythonGame-实现简单的坦克大战

通过python简单复现坦克大战游戏。 使用到的库函数&#xff1a; import turtle import math import random import time 游戏源码&#xff1a; import turtle import math import random import time# 设置屏幕 screen turtle.Screen() screen.setup(800, 600) screen.tit…...

不太常见的asmnet诊断

asm侦听 [griddb1-[ASM1]-/home/grid]$ srvctl config asm ASM home: <CRS home> Password file: OCR/orapwASM Backup of Password file: OCRDG/orapwASM_backup ASM listener: LISTENER ASM instance count: 3 Cluster ASM listener: ASMNET1LSNR_ASM[rootdb1:/root]# …...

双指针-【3,4,5,6,7,8】

第三题&#xff1a;快乐数 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/happy-number/算法思想&#xff1a; 1.每个…...

react Vant中如何获取步进器的值

在React中使用Vant&#xff08;一个轻量、可靠的移动端Vue组件库&#xff0c;虽然原生是为Vue设计的&#xff0c;但如果你在使用的是React版本的Vant&#xff0c;比如通过某些库或框架桥接Vue组件到React&#xff0c;或者是一个类似命名的React UI库&#xff09;&#xff0c;获…...

Windows下Git Bash乱码问题解决

Windows下Git Bash乱码问题解决 缘起 个人用的电脑是Mac OS&#xff0c;系统和终端编码都是UTF-8&#xff0c;但公司给配发的电脑是Windows&#xff0c;装上Git Bash在使用 git commit -m "中文"时会乱码 解决 确认有以下配置 # 输入 git config --global --lis…...

HTML5 + CSS3

HTML 基础 准备开发环境 1.vscode 使用 新建文件夹 ---> 左键拖入 vscode 中 2.安装插件 扩展 → 搜索插件 → 安装打开网页插件&#xff1a;open in browser汉化菜单插件&#xff1a;Chinese 3.缩放代码字号 放大,缩小&#xff1a;Ctrl 加号&#xff0c;减号 4.设…...

NFTScan | 07.22~07.28 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2024.07.22~ 2024.07.28 NFT Hot News 01/ 数据&#xff1a;NFT 系列 Liberty Cats 地板价突破 70000 MATIC 7 月 22 日&#xff0c;据 Magic Eden 数据&#xff0c;NFT 系列 Liberty C…...

24年第三届钉钉杯大学生大数据挑战赛

...

探索分布式光伏运维系统的组成 需要几步呢?

前言 随着光伏发电的不断发展&#xff0c;对于光伏发电监控系统的需求也日益迫切&#xff0c;“互联网”时代&#xff0c;“互联网”的理念已经转化为科技生产的动力&#xff0c;促进了产业的升级发展&#xff0c;本文结合“互联网”技术提出了一种针对分散光伏发电站运行数据…...

做知识付费项目还能做吗?知识付费副业项目如何做?能挣多少钱?

hello,我是阿磊&#xff0c;一个20年的码农&#xff0c;6年前代码写不动了&#xff0c;转型专职做副业项目研究&#xff0c;为劳苦大众深度挖掘互联网副业项目&#xff0c;共同富裕。 现在做知识付费项目还能做吗&#xff1f; 互联网虚拟资源项目我一直在做&#xff0c;做了有…...

K210视觉识别模块学习笔记7:多线程多模型编程识别

今日开始学习K210视觉识别模块: 图形化操作函数 亚博智能 K210视觉识别模块...... 固件库: canmv_yahboom_v2.1.1.bin 训练网站: 嘉楠开发者社区 今日学习使用多线程、多模型来识别各种物体 这里先提前说一下本文这次测试实验的结果吧&#xff1a;结果是不太成…...

Go语言教程(一看就会)

全篇文章 7000 字左右&#xff0c; 建议阅读时长 1h 以上。 Go语言是一门开源的编程语言&#xff0c;目的在于降低构建简单、可靠、高效软件的门槛。Go平衡了底层系统语言的能力&#xff0c;以及在现代语言中所见到的高级特性。它是快速的、静态类型编译语言。 第一个GO程序…...

【Golang 面试 - 基础题】每日 5 题(十)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…...

OD C卷 - 密码输入检测

密码输入检测 &#xff08;100&#xff09; 给定一个密码&#xff0c;‘<’ 表示删除前一个字符&#xff0c;输出最终得到的密码&#xff0c;并判断是否满足密码安全要求&#xff1a; 密码长度>8;至少包含一个大写字母&#xff1b;至少包含一个小写字母&#xff1b;至少…...

【每日一题】【逆推法 + 贪心】【数学】造数 河南萌新联赛2024第(一)场:河南农业大学 A题 C++

河南萌新联赛2024第&#xff08;一&#xff09;场&#xff1a;河南农业大学 A题 造数 题目描述 样例 #1 样例输入 #1 2样例输出 #1 1样例 #2 样例输入 #2 5样例输出 #2 3做题思路 本题可以用逆推法 将三种操作反过来变为 − 1 , − 2 , / 2 -1 , -2 , /2 −1,−2,/2 …...

刷题计划 day4 【双指针、快慢指针、环形链表】链表下

⚡刷题计划day4继续&#xff0c;可以点个免费的赞哦~ 下一期将会开启哈希表刷题专题&#xff0c;往期可看专栏&#xff0c;关注不迷路&#xff0c; 您的支持是我的最大动力&#x1f339;~ 目录 ⚡刷题计划day4继续&#xff0c;可以点个免费的赞哦~ 下一期将会开启哈希表刷题…...

最高200万!苏州成都杭州的这些AI政策补贴,你拿到了吗?

随着全球人工智能技术的迅猛发展&#xff0c;地方政府纷纷出台相关政策以抢占未来科技的制高点。苏州 成都 杭州这三个城市更是推出了一系列AI政策补贴&#xff0c;旨在通过多方面支持&#xff0c;推动本地AI产业的发展。本文将带你了解目前不完全统计到的苏州 成都 杭州三地AI…...

使用两台虚拟机分别部署前端和后端项目

使用两台虚拟机分别部署前端和后端项目 1 部署方案2 准备两台虚拟机&#xff0c;并配置网络环境3 部署后端项目3.1 打包服务3.2 上传jar包到服务器3.3 集成Systemd3.3.1 移动端服务集成Systemd3.3.2 后台管理系统集成Systemd 4 配置域名映射5 部署前端项目5.1 移动端5.1.1 打包…...

Halcon学习之derivate_gauss

HALCON 图像处理库中的一个常用算子&#xff0c;用于计算图像的高斯导数。高斯导数是一种平滑导数&#xff0c;在计算过程中结合了高斯滤波&#xff0c;具有平滑噪声的效果。这个算子可以计算图像的不同导数&#xff0c;如梯度、一阶导数、二阶导数、以及 Hessian 行列式等。 …...

智能优化算法(三):遗传算法

文章目录 1.问题描述2.遗传算法2.1.算法概述2.2.编码操作2.3.选择操作2.4.交叉操作2.5.变异操作2.6.算法流程 3.算法实现3.1.MATLAB代码实现3.2.Python代码实现 4.参考文献 1.问题描述 \quad 在利用启发式算法求解问题时&#xff0c;我们常常需要应用遗传算法解决函数最值问题&…...

Docker部署nacos...用户名密码错误

前提 镜像选择v2.3.0版本&#xff0c;因为最新的没拉下来用的别的地方save load的镜像。 官方示例 官方文档 数据库脚本&#xff0c;直接去数据库新建数据库nacos吧&#xff0c;执行脚本&#xff0c;执行完成后&#xff0c;发现只有建表语句&#xff0c;查询得知&#xff0c…...

搭建Vue开发环境

一、下载Vue.js 进入官网教程安装 — Vue.js (vuejs.org) 下载开发版本到本地 二、安装 Vue Devtools 安装完成后...

富格林:防范虚假可信投资经验

富格林指出&#xff0c;现货黄金投资作为一种全球性的金融衍生品交易&#xff0c;吸引了无数投资者的目光。它不仅具备避险属性&#xff0c;还是资产配置中不可或缺的一部分。然而&#xff0c;要想在市场中防范虚假陷阱&#xff0c;投资者必须要掌握并且利用可信的投资经验。下…...

Intent的数据传递

在Android开发中&#xff0c;使用Intent在Activity之间传递数据是一种常见的方式。然而&#xff0c;Intent确实有一些大小和类型的限制。 Intent的限制 数据大小限制&#xff1a;虽然官方没有明确说明Intent的数据大小限制&#xff0c;但是Intent是通过Binder机制进行IPC&…...

【NPU 系列专栏 3.1 -- - ARM NPU 有哪些型号?】

请阅读【嵌入式及芯片开发学必备专栏】 文章目录 ARM X 系列和 Z 系列 NPU 详解ARM X 系列 NPUARM X 系列 NPU型号和算力ARM X 系列 NPU 应用场景ARM Z 系列 NPU 简介ARM Z 系列 NPU 型号和算力ARM Z 系列 NPU 应用场景SummaryARM X 系列和 Z 系列 NPU 详解 ARM 的 NPU(Neura…...

如何运行别人的vue项目

文章目录 如何运行别人的vue项目一、删除现有的node_modules二、npm换源三、清理缓存四、进行依赖安装五、运行服务器 如何运行别人的vue项目 一、删除现有的node_modules 二、npm换源 换成淘宝的镜像源 查看当前镜像源 npm config get registry更换淘宝镜像源 npm confi…...

【Django5】内置Admin系统

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理&#xff08;Cookies&Session&#xff09; 第八章 文件上传…...

汕头 西月 公司的面试

1&#xff1b;常用的框架&#xff0c;tp 他的特性 2&#xff1a;事务&#xff0c;的使用的场景。 3&#xff1a;redis 的使用的场景 。 4&#xff1a;redis 集合使用的场景...

Spring Boot 实现不同项目之间的远程

Spring Boot 实现不同项目之间的远程调用 在分布式系统中&#xff0c;通常需要多个微服务之间进行通信。在 Spring Boot 中&#xff0c;实现远程调用的方式有很多&#xff0c;常见的方法包括使用 REST API、gRPC、以及 Spring Cloud Feign 等。本篇博客将详细介绍如何在不同的…...