jQuery中的事件与DOM操作

jQuery事件

jQuery事件是对JavaScript事件的封装,常用事件分类
基础事件

  • 鼠标事件
  • 键盘事件
  • window事件
  • 表单事件
  • 绑定事件与移除事件

复合事件

  • 鼠标光标悬停
  • 鼠标连续点击

jQuery基础事件

鼠标事件

鼠标事件是当用户在文档上移动或单击鼠标时而产生的事件
下面是一个使用 Markdown 表格格式展示 jQuery 中常用的鼠标事件的示例:

标红的是常用的,要记住啊

事件描述
.click()单击元素时运行的函数。
.mouseover()鼠标指针位于元素上方时运行的函数。与 mouseenter 类似,但会冒泡。
.mouseout()鼠标指针离开元素时运行的函数。与 mouseleave 类似,但会冒泡。
mouseenter当鼠标指针穿过元素时运行的函数。
mouseleave当鼠标指针离开元素时运行的函数。
hover当鼠标指针位于元素上方时运行的函数。
mousedown当鼠标按钮在元素上按下时运行的函数。
mouseup当鼠标按钮在元素上释放时运行的函数。
mousemove当鼠标指针在元素上移动时运行的函数。
冒泡小知识:

在前端开发中,事件冒泡是指事件从最内层的元素逐级向外传播到最外层的元素的过程。当在页面上触发某个事件(比如点击一个按钮),该事件会首先在触发的元素上被处理,然后逐级向上冒泡传播到包含该元素的所有祖先元素,直至达到文档根节点。

举个例子,如果在一个按钮上绑定了点击事件,并且该按钮位于一个包含它的 div 元素内,当点击按钮时,点击事件将首先在按钮上触发,然后向上冒泡到 div 元素。如果在 div 元素上也有一个点击事件处理程序,那么该处理程序也会被触发。

在 jQuery 中,大多数事件(如 click、mouseenter、mouseleave等)都会冒泡,除非明确禁止了冒泡。您可以使用 jQuery 的 event.stopPropagation() 方法来阻止事件冒泡,从而防止事件向上传播。

mouseover( ) mouseout()与mouseenter() mouseleave()的区别

与mouseleave,mouseenter有什么区别
在 jQuery 中,mouseover()mouseout() 方法以及 mouseenter()mouseleave() 方法都用于处理鼠标事件,但它们之间有一些关键区别:

  1. mouseover()mouseout()

    • mouseover() 方法在鼠标指针穿过选定元素或其子元素时触发事件。
    • mouseout() 方法在鼠标指针离开选定元素或其子元素时触发事件。
    • 这两个方法都是冒泡事件,意味着当鼠标指针穿过或离开选定元素时,会触发该元素以及其所有父元素的相应事件。
  2. mouseenter()mouseleave()

    • mouseenter() 方法在鼠标指针进入选定元素时触发事件。
    • mouseleave() 方法在鼠标指针离开选定元素时触发事件。
    • mouseenter()mouseleave() 方法不是冒泡事件,它们只在鼠标指针进入或离开选定元素时触发,不会像 mouseover()mouseout() 那样冒泡到父元素。

因此,主要区别在于事件触发的时机和冒泡行为:

  • mouseover()mouseout() 会在鼠标指针穿过或离开元素及其子元素时触发,且会冒泡到父元素。
  • mouseenter()mouseleave() 只在鼠标指针进入或离开元素时触发,不会冒泡到父元素。
键盘事件

用户每次按下或者释放键盘上的键时都会产生事件,常用键盘事件

事件描述
keydown()按下键盘上的任意键时触发
keypress()在按下键盘上的字符键(按住不放)时触发
keyup()释放键盘上的键时触发

这些事件可用于捕获用户在与页面交互时键盘的各种操作。

window事件
事件描述
load()当页面完全加载后触发
resize()当浏览器窗口大小改变时触发
scroll()当用户滚动页面时触发
unload()当用户离开页面时触发
focus()当元素获得焦点时触发(如输入框)
blur()当元素失去焦点时触发(如输入框)
beforeunload()当用户即将离开页面时触发(通常用于提示)

这些事件可用于捕获用户在浏览器窗口操作时的各种事件,从页面加载到用户交互等不同情况下触发相应的动作。

表单事件
事件描述
submit()当表单提交时触发
change()当表单元素的值发生改变时触发
focus()当表单元素获得焦点时触发
blur()当表单元素失去焦点时触发
select()当文本框或文本域中的文本被选中时触发

这些事件可用于捕获用户在表单元素上进行操作时的各种事件,如提交表单、改变输入值、获取焦点等。

绑定事件与移除事件

在jQuery中,on() 方法用于绑定一个或多个事件处理程序到元素,而 off() 方法用于移除通过 on() 方法绑定的一个或多个事件处理程序。

on() 方法

语法

$(selector).on(event, childSelector, data, handler);

参数

  • event: 规定要执行的事件。
  • childSelector (可选): 规定只能添加指定子元素上的事件处理程序。
  • data (可选): 规定传递到事件处理程序的额外数据。
  • handler: 当事件发生时要执行的函数。

示例

// 绑定点击事件处理程序
$('#myElement').on('click', function() {// 处理点击事件的代码
});
off() 方法

语法

$(selector).off(event, childSelector, handler);

参数

  • event (可选): 规定要移除的事件。
  • childSelector (可选): 规定只移除指定子元素上的事件处理程序。
  • handler (可选): 规定要移除的事件处理程序。

** 示例**:

// 移除点击事件处理程序
$('#myElement').off('click');

复合事件

jQuery的hover()toggle()toggleClass(),这些方法是jQuery中常用的函数,可以用于实现各种鼠标交互和样式切换的效果。

jQuery的hover()方法

hover()方法是jQuery中用于处理鼠标悬停事件的函数。它接受两个参数,分别是鼠标指针进入元素时要执行的函数和鼠标指针离开元素时要执行的函数。这个方法常用于实现一些与鼠标交互相关的效果,例如悬停时改变元素的样式或显示隐藏的内容。

使用示例:

$("selector").hover(function() {// 鼠标进入元素时要执行的代码},function

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

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

相关文章

大厂嵌入式公司面试真题

面试题: 基础知识题 请解释C语言中的指针是什么以及它们如何工作?描述C语言中的动态内存分配。malloc、calloc、realloc和free这些函数有何区别?C语言中的宏(macro)和函数之间有什么不同?代码理解题 #incl…

详解Megatron中的数据混合算法(BlendableDataset)

🧑‍💻 本文主要讲解Megatron早期版本中的数据混合算法。 目录 1. 数据混合2. 源码解析3. 证明部分&讨论4. 进一步优化 1. 数据混合 在谈源码之前,我们有必要先了解一下Megatron中的数据混合思想。 给定 n n n 个数据集 D 1 , D 2 , …

给定一个边与边可能相交的多边形,求它的轮廓线

大家好,我是前端西瓜哥。 最近遇到一个需求,给定一个多边形(边与边可能相交),求这个多边形的轮廓线。 需要注意的是,轮廓线多边形内不能有空洞,使用的不是常见的非零绕数规则(nonze…

Java+SpringBoot,打造极致申报体验

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

2024全国水科技大会暨流域水环境治理与水生态修复论坛(六)

论坛召集人 冯慧娟 中国环境科学研究院流域中心研究员 刘 春 河北科技大学环境与工程学院院长、教授 一、会议背景 为深入贯彻“山水林田湖是一个生命共同体”的重要指示精神,大力实施生态优先绿色发展战略,积极践行人、水、自然和谐共生理念&…

VOL_常用记录!!-----后端

目录 1.后台配置appsettings.json说明2.service.cs扩展 表/明细表(CRUD导入导出)前后做一些操作 数据(CRUD导入导出)前后的处理参数或数据2.编辑3.新建4.查询5.导出6.导入 注意事项:后台扩展必须写在代码生成的Partial部分类里面 防止代码生成后覆盖你的扩展的代码 …

opencascade在vs和qt下改变视图方向和设置线框模式

一.改变视图方向(以顶部视图为例) 1.在qt的界面代码中设置好 2.在view.h中设置好槽函数 3.在lzzcad.cpp中设置槽与信号的连接,并在工具栏上显示 4.在view.cpp中给出函数实现 5.给出快捷键实现方式 二.设置线框模式 同上,加入函数…

力扣:93. 复原 IP 地址

回溯: 1.先定义一个接收的集合,之后再定义一个记录小数点的变量。之后编写回溯函数,终止条件为小数点的个数为3时,同时要判断最后一段的组合的值是否属于ip地址的范围。之后再用for循环来遍历ip地址的组合,先判断组合…

【软件设计模式之模板方法模式】

文章目录 前言一、什么是模板方法模式?二、模板方法模式的结构1. 抽象类定义2. 具体实现 三、模板方法模式的应用场景1. 算法重用2. 操作中的固定步骤3. 扩展框架的功能4. 提供回调方法5. 遵循开闭原则 四、模板方法模式的优缺点1. 优点代码复用扩展性好符合开闭原则…

[深度学习]yolov9+deepsort+pyqt5实现目标追踪

【YOLOv9DeepSORTPyQt5追踪介绍】 随着人工智能技术的飞速发展,目标追踪在视频监控、自动驾驶等领域的应用日益广泛。其中,YOLOv9作为先进的目标检测算法,结合DeepSORT多目标追踪算法和PyQt5图形界面库,能够为用户提供高效、直观…

Linux fdisk命令教程:硬盘分区的利器(附实例详解和注意事项)

Linux fdisk命令介绍 fdisk(format disk)是一个在Linux中用于创建和操作磁盘分区表的对话驱动命令。它是最常用的创建分区的工具之一。fdisk允许你在硬盘上创建和操作分区表。需要注意的是,fdisk是一个危险的工具,应该谨慎使用。…

前端笔记——var let const 之间的区别

Var: 关键字来声明变量。它有以下特点: var声明的变量作用域是函数级的,即在函数内部声明的变量在整个函数范围内可见。 var变量可以被重复声明,而不会引发错误。 var变量会存在变量提升(hoisting)现象&…

python-可视化篇-简单-条形图输出主要省份GDP排名情况

条形图输出主要省份GDP排名情况 代码 gdp广东:97277.77:107671.07 江苏:92595.40:99631.52 山东:76469.70:71067.5 浙江:56197.00:62353 河南:48055.90:54259.2 四川:40678.10:46615.82 湖北:39366.60:45828.31 湖南:36425.78:39752.12 河北:36010.30:35104.5 福建:35804.04:…

windows安装 RabbitMQ

首先打开 RabbitMQ 官网,点击 Get Started(开始) 点击 Download Installation(下载安装)。 这里提供了两种方式进行安装,我们使用第二种方法。 使用 chocolatey以管理用户身份使用官方安装程序 往下滑,第二种方法需要 Erlang 的依赖&#x…

iotdb集群模式部署

iotdb集群模式部署 重要声明:部署的版本要和脚本对应上,这里可以点击 来获取最新的脚本; 我使用的是1.3.0版本的iotdb 下面是我基于三个节点的部署步骤: 假如有三台物理机,里面安装了centos系统,它们的hostname分别是iotdb-1、iotdb-2、iotdb-3 1、设置网络 vim /…

1248 - Every derived table must have its own alias

该问题是子查询内的列名无法在外部查询中直接引用,使用别名来为子查询结果集命名,然后在外部查询中引用该别名。以下是一个修正后的查询语句: SELECT last_name, salary FROM (SELECT last_name, salary, RANK() OVER (ORDER BY salary DES…

avidemux-一个免费的视频编辑器,用于剪切、过滤和编码项目

avidemux-一个免费的视频编辑器,用于剪切、过滤和编码项目 avidemux-一个免费的视频编辑器,用于剪切、过滤和编码项目avidemux下载avidemux源代码参考资料 avidemux-一个免费的视频编辑器,用于剪切、过滤和编码项目 avidemux下载 avidemux …

mongoose httpserver浅析

文章目录 前言一、结构体及其功能二、函数MG_LOGmg_http_listenmg_mgr_poll question参考链接 前言 mongoose是一款基于C/C的网络库,可以实现TCP, UDP, HTTP, WebSocket, MQTT通讯。mongoose是的嵌入式网络程序更快、健壮,易于实现。 mongoose只有mong…

qt波位图

1&#xff0c;QPainter 绘制&#xff0c;先绘制这一堆蓝色的东西, 2&#xff0c;在用定时器&#xff1a;QTimer&#xff0c;配合绘制棕色的圆。用到取余&#xff0c;取整 #pragma once#include <QWidget> #include <QPaintEvent>#include <QTimer>QT_BEGIN_…

LangChain Agent v0.2.0简明教程 (上)

快速入门指南 – LangChain中文网 langchain源码剖析系列课程 九天玩转Langchain! 1. LangChain是什么2. LangChain Expression Language (LCEL)Runnable 接口3. Model I/O3.1 Prompt Templates3.2 Language Model3.3 Output ParsersUse case(Q&A with RAG)1. LangChain…