jQuery学习笔记3
jQuery 事件注册
jQuery 事件处理
<div></div><ul><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li></ul><ol></ol><script>$(function () {// 1.单个事件注册// $("div").click(function () {// $(this).css("background", "purple");// });// $("div").mouseenter(function () {// $(this).css("background", "skyblue");// });// 2.事件处理on// $("div").on({// mouseenter: function () {// $(this).css("background", "skyblue");// },// click: function () {// $(this).css("background", "purple");// },// mouseleave: function () {// $(this).css("background", "blue");// },// });$("div").on("mouseenter mouseleave", function () {$(this).toggleClass("current");});// (2)on可以实现事件委托(委派)$("ul li").click();$("ul").on("click", "li", function () {alert(11);});//click 是绑定在ul身上的,但是触发的对象是ul里面的小li// (3)on可以给动态创建的元素绑定事件// $("ol li").click(function () {// alert(11);// });$("ol").on("click", "li", function () {alert(11);});var li = $("<li>我是后来创建的</li>");$("ol").append(li);});</script>
$(function () {// 1.点击发布按钮,动态创建一个小li,放入文本框的内容和删除按钮,并添加到ul中$(".btn").on("click", function () {var li = $("<li></li>");li.html($(".txt").val() + "<a href='javascript:;'>删除</a>");$("ul").prepend(li);li.slideDown();$(".txt").val("");});// 2.点击的删除按钮,可以删除当前的微博留言// $("ul a").click(function () {// // 此时的click不能给动态创建的a添加事件// alert(11);// });// on可以给动态创建的元素绑定事件$("ul").on("click", "a", function () {$(this).parent().slideUp(function () {$(this).remove();});});});
$(function () {$("div").on({click: function () {console.log("我点击了");},mouseover: function () {console.log("我鼠标经过了");},});$("ul").on("click", "li", function () {alert(22);});// 1.事件解绑off// $("div").off(); // 这个是解除了div上的所有事件$("div").off("click"); // 这个是解除了div身上的点击事件// 2.one() 但是它只能触发事件一次$("p").one("click", function () {alert(11);});});
$(function () {$("div").on("click", function () {alert(11);});// 自动触发事件// 1.元素.事件()// $("div").click(); //会触发元素的默认行为// 2.元素.trigger("事件") 会触发元素的默认行为// $("input").trigger("focus");// 3.元素.triggerHandler("事件") 就是不会触发元素的默认行为$("div").triggerHandler("click");$("input").on("focus", function () {$(this).val("你好吗");});// $("input").triggerHandler("focus");});
jQuery 事件对象
$(function () {$(document).on("click", function () {console.log("点击了document");});$("div").on("click", function () {console.log(event);console.log("点击了div");event.stopPropagation();});});
jQuery 对象拷贝
注意浅拷贝与深拷贝的特点
$(function () {//var targetObj = {};var obj = {id: 1,name: "andy",};// $.extend(target, obj)$.extend(targetObj, obj);console.log(targetObj);var targetObj = {id: 0,msg: {sex: "男",},};var obj = {id: 1,name: "andy",msg: {age: 18,},};// $.extend(target, obj)// 1.浅拷贝就是把原来对象里面的复杂数据类型地址拷贝给目标对象// $.extend(targetObj, obj);// console.log(targetObj); // 会覆盖targetObj里面原来的数据// targetObj.msg.age = 20;// console.log(obj);// 1.深拷贝就是把里面的数据完全复制一份给目标对象,如果里面有不冲突的属性,会合并到一起$.extend(true, targetObj, obj);// console.log(targetObj); // 会覆盖targetObj里面原来的数据targetObj.msg.age = 20;console.log(targetObj);console.log(obj);});
jQuery 多库共存
$(function () {function $(ele) {return document.querySelector(ele);}console.log($("div"));// 1.如果$符号冲突 我们就使用jQueryjQuery.each();// 2.让jquery释放对$控制权 让自己决定var suibian = jQuery.noConflict();console.log(suibian("span"));suibian.each();});
jQuery 插件
注意头部底部不用复制,头部是seo标识,底部是广告之类的
案例:toDoList
本地存储:
var todolist = [{title: "我今天吃八个馒头",done: false,},{title: "我今天学习jq",done: false,},];localStorage.setItem("todo", todolist);// 1.本地存储里面只能存储字符串的数据格式,把我们的数组对象转换成字符串格式 JSON.stringify()localStorage.setItem("todo", JSON.stringify(todolist));var data = localStorage.getItem("todo");console.log(typeof data);console.log(data[0].title);// 2.获取本地存储的数据,我们需要把里面的字符串数据转换为对象格式 JSON.parse()data = JSON.parse(data);console.log(data);
索引号,如果是亲兄弟,就会编排,如果不是亲兄弟,就不会编排,点击任何一个ul当中的a标签都是索引0
<div><a href="#">1</a><a href="#">2</a><a href="#">3</a></div><ul><li><a href="#">a</a></li><li><a href="#">b</a></li><li><a href="#">c</a></li></ul><script>$("div a").click(function() {console.log($(this).index());})$("ul a").click(function() {console.log($(this).index());})</script>
$(function () {// alert(11);// 1.按下回车 把完整数据 存储到本地存储里面// 2.存储的数据格式 var todolist = [{title: 'xxx', done: false}]load();$("#title").on("keydown", function (event) {// console.log(event);if (event.keyCode === 13) {if ($(this).val() === "") {alert("请输入你的操作");} else {// 先读取本地存储原来的数据var local = getData();console.log(local);// 把local数组进行更新数据,把最新的数据追加给local数组local.push({ title: $(this).val(), done: false });// 把这个数组local 存储给本地存储saveData(local);// 2. toDoList 本地存储数据渲染加载到页面load();$(this).val("");}}});// 3.toDoList删除操作$("ol").on("click", "a", function () {// alert(11);// 先获取本地存储var data = getData();console.log(data);// 修改数据var index = $(this).attr("id");console.log(index);data.splice(index, 1);// 保存到本地存储saveData(data);// 重新渲染页面load();});// 4.toDoList 正在进行和已经完成选项操作$("ol,ul").on("click", "input", function () {// alert(11)// 先获取本地存储的数据var data = getData();// 修改数据var index = $(this).siblings("a").attr("id");console.log(index);// data[?].done = ?data[index].done = $(this).prop("checked");console.log(data);// 保存到本地存储saveData(data);// 重新渲染页面load();});// 读取本地存储的数据function getData() {var data = localStorage.getItem("todolist");if (data !== null) {// 本地存储里面的数据是字符串格式的,但是我们需要的是对象格式的return JSON.parse(data);} else {return [];}}// 保存本地存储数据function saveData(data) {localStorage.setItem("todolist", JSON.stringify(data));}// 渲染加载数据function load() {// 读取本地存储的数据var data = getData();console.log(data);// 遍历之前先要清空ol里面的元素内容,不然每次按钮按下keydown的时候,就会往ol当中追加数据$("ol,ul").empty();var todoCount = 0; // 正在进行的个数var doneCount = 0; // 已经完成的个数// 遍历这个数据$.each(data, function (i, n) {// console.log(n);if (n.done) {$("ul").prepend("<li><input type='checkbox' checked='checked'><p>" +n.title +"</p><a hred='javascript:;' id=" +i +"></a></li>");doneCount++;} else {$("ol").prepend("<li><input type='checkbox'/><p>" +n.title +"</p><a hred='javascript:;' id=" +i +"></a></li>");todoCount++;}});console.log(todocount, donecount);$("#todocount").text(todoCount);$("#donecount").text(doneCount);}
});
相关文章:
jQuery学习笔记3
jQuery 事件注册 jQuery 事件处理 <div></div><ul><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li><li>我们都是好孩子</li></ul><o…...
SpringMVC(六)拦截器
目录 1.什么是拦截器 2.拦截器和过滤器有哪些区别 3.拦截器方法 4.单个拦截器的执行流程 5.使用拦截器实现用户登录权限验证(实例) 1.先在html目录下写一个login.html文件 2.在controller包下写一个LoginController文件 3.加拦截器 1.创建一个conf…...
单区域OSPF配置实验
1、绘制拓扑图 2、配置ip地址 R0 Router(config)#interface FastEthernet0/0 Router(config-if)#ip address 192.168.1.1 255.255.255.0 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#interface FastEthernet0/1 Router(config-if)#ip address 192.16…...
Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用…...
虚拟机图像界面打不开了
今天打开虚拟机的时候图形界面打不开,进入到tty1中,而且还没有网,找了好几个办法都不行最后找到这个博主发的,解决了 修复 https://www.cnblogs.com/shuimuqingyang/p/15070690.html...
《经典力学》笔记
文章目录 直线运动弹簧和简谐运动动能,势能,机械能动量动量守恒机械能守恒弹性碰撞和非弹性碰撞冲量 圆周运动匀速圆周运动转动惯量平行轴定理 角动量角动量守恒 英语 直线运动 弹簧和简谐运动 F s → − k x 1 → \overrightarrow{F_s}-k \overrighta…...
【论文+源码】基于Spring和Spring MVC的汉服文化宣传网站
为了实现一个基于Spring和Spring MVC的汉服文化宣传网站,我们需要创建一个简单的Web应用程序来展示汉服文化和相关信息。这个系统将包括以下几个部分: 数据库表设计:定义文章、用户和评论的相关表。实体类:表示数据库中的数据。DAO层接口及MyBatis映射文件:用于与数据库交…...
计算机的错误计算(一百九十九)
摘要 用大模型判断下面四个函数 有何关系?并计算它们在 x0.00024时的值,结果保留10位有效数字。两个大模型均认为它们是等价的。实际上,还有点瑕疵。关于计算函数值,大模型一只是纸上谈兵,没计算;大模型二…...
【AI日记】25.01.02 kaggle 比赛 3-1
【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 参加:kaggle 比赛 Forecasting Sticker Sales时间:4 小时 读书 书名:秦制两千年时间:5 小时阅读原因:之前看过 《商君书》,对秦制…...
el-pagination 为什么只能展示 10 条数据(element-ui@2.15.13)
好的,我来帮你分析前端为什么只能展示 10 条数据,以及如何解决这个问题。 问题分析: pageSize 的值: 你的 el-pagination 组件中,pageSize 的值被设置为 10:<el-pagination:current-page"current…...
Ps:将数据组作为文件导出
Ps菜单:文件/导出/数据组作为文件 Export/Data Sets as Files “将数据组作为文件导出” Export Data Sets as Files命令是 Photoshop 数据驱动设计功能的一部分,用于结合可变数据和模板,生成多个文件。 1、自动化批量生成 适用于名片、证书、…...
nohup.out日志
1、nohup.out生成 在你执行 nohup java -jar ruoyi-admin.jar & 时,程序原本要输出到控制台的所有内容,包括日志框架输出到控制台的部分,都会被写入 nohup.out 。nohup 命令运行程序时,默认情况下,nohup 会把程序的…...
01 背包
文章目录 前言代码思路 前言 总是感觉有点没有完全懂,但是说起来的时候好像又懂一点点,就是我现在的状态。 代码 二维的直接的版本 #include<iostream> #include<algorithm>using namespace std;const int N 1010; int f[N][N]; int v[…...
QT-------------多线程
实现思路 QThread 类简介: QThread 是 Qt 中用于多线程编程的基础类。可以通过继承 QThread 并重写 run() 方法来创建自定义的线程逻辑。新线程的执行从 run() 开始,调用 start() 方法启动线程。 掷骰子的多线程应用程序: 创建一个 DiceThre…...
【JVM】深入了解Java虚拟机-------内存划分、类加载机制、垃圾回收机制
目录 什么是JVM? 内存划分: 1.堆 (共享) 2.栈 (私有) 3.元数据区(共享) 4.程序计数器(私有) 示例: JVM 类加载 一.类加载过程 1.加载 2.验证 3.…...
k8s部署juicefs
操作系统k8smysqlminiojuicefs内核centos8.21.19.18.0.39RELEASE.2023-12-20T01-00-02Zv0.19.04.18.0-193.el8.x86_64 本文k8s较老采用老版本的juicefs,中间件也都是部署在k8s上。测试是否能成功创建动态pvc挂在到测试pod当中并查看到数据信息。一些偏理论知识就不多…...
【ArcGIS微课1000例】0136:制作千层饼(DEM、影像、等高线、山体阴影图层)
文章目录 一、效果展示二、数据准备三、制作过程1. 打开软件2. 制作DEM图层3. 制作影像层4. 制作TIN层5. 制作等高线层四、注意事项一、效果展示 二、数据准备 订阅专栏后,从专栏配套案例数据包中的0136.rar中获取。 1. dem 2. 影像 3. 等高线 4. tin 三、制作过程 1. 打开软…...
Ajax数据爬取
有时我们用requests 抓取页面得到的结果,可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,而使用requests 得到的结果中并没有这些数据。这是因为 requests 获取的都是原始 HTML 文档,而浏览器中的页面是JavaScript 处理…...
快速上手大模型的对话生成
本项目使用0.5B小模型,结构和大模型别无二致,以方便在如CPU设备上快速学习和上手大模型的对话上传 #mermaid-svg-Z86hUiQZ0hg9BVji {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Z86hUiQZ0h…...
DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库
推荐一个专门为System.DateTime编写的扩展方法库。 01 项目简介 该项目主要是为System.DateTime和System.DateTimeOffset的编写的扩展方法,包括自然日期差值的文本表示(精确和人性化四舍五入)、多个时区的节假日和工作日计算。 核心扩展方…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...































