jQuery初识和常用事件(一)

文章目录

    • 一、jQuery
    • 二、入口函数
    • 三、选择器
          • 选择器小结 ★
          • 全部选择器参考 ☆
    • 四、常用的 jQuery 事件方法
          • 事件写法
          • 鼠标事件
          • 元素事件
          • 键盘事件
          • 文档/窗口事件
          • 全部事件方法参考 ☆
    • 五、效果事件
          • 显示与隐藏:hide,show,toggle
          • 淡入和淡出:fadeIn(),fadeOut(),fadeToggle(),fadeTo()
          • 滑动:slideDown(),slideUp(),slideToggle()
          • 自定义动画:animate()
          • 停止动画:stop()
          • jQuery - 链(Chaining):在相同的元素上运行多条 jQuery 命令
          • 全部效果事件参考 ☆
    • 杂学

一、jQuery

1.jQuery是一个JavaScript函数库(框架)。

2.jQuery是一个轻量级的"写的少,做的多"的JavaScript库。

3.jQuery库包含以下功能:

  • HTML 元素选取
  • HTML 元素操作
  • CSS 操作
  • HTML 事件函数
  • JavaScript 特效和动画
  • HTML DOM 遍历和修改
  • AJAX
  • Utilities
    提示: 除此之外,Jquery还提供了大量的插件。

4.jQuery是目前最流行的js框架,而且提供了大量的扩展。
5.jQuery 拥有可操作 HTML 元素和属性的强大方法,就是操作 DOM 的能力。
6. ‘$’ 是 jQuery 的简称,可以使用 $,也可以使用 jQuery

二、入口函数

jQuery 入口函数:
在 html 所有标签(DOM)都加载之后,就会去执行。

$(document).ready(function(){// 执行代码
});
或者
$(function(){// 执行代码
});

JavaScript 入口函数:
等到所有内容,包括外部图片之类的文件加载完后,才会执行。

window.onload = function () {// 执行代码
}

三、选择器

  • jQuery 中所有选择器都以美元符号开头:$()
  • jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素
  • 元素选择器:$(“p”)
  • id选择器:$("#test")
  • 类选择器:$(".test")
  • 进阶选择:
    $("*") 选取所有元素
    $(this) 选取当前 HTML 元素
    $(“p.intro”) 选取 class 为 intro 的 p 元素
    $(“p:first”) 选取第一个 p 元素
    $(“ul li:first”) 选取第一个 ul 元素的第一个 li 元素
    $(“ul li:first-child”) 选取每个 ul 元素的第一个 li 元素
    $("[href]") 选取带有 href 属性的元素
    $(“a[target=’_blank’]”) 选取所有 target 属性值等于 “_blank” 的 a 元素
    $(“a[target!=’_blank’]”) 选取所有 target 属性值不等于 “_blank” 的 a 元素
    $(":button") 选取所有 type=“button” 的 input 元素 和 button 元素
    $(“tr:even”) 选取偶数位置的 tr 元素
    $(“tr:odd”) 选取奇数位置的 tr 元素
选择器小结 ★
1.基本选择器
$("#id")            // ID选择器
$("div")            // 元素选择器
$(".classname")     // 类选择器
$(".classname,.classname1,#id1")     // 组合选择器2.层次选择器
$("#id>.classname ")    // 子元素选择器
$("#id .classname ")    // 后代元素选择器
$("#id + .classname ")    // 紧邻下一个元素选择器
$("#id ~ .classname ")    // 兄弟元素选择器3.过滤选择器(重点)
$("li:first")    // 第一个li
$("li:last")     // 最后一个li
$("li:even")     // 挑选下标为偶数的li
$("li:odd")      // 挑选下标为奇数的li
$("li:eq(4)")    // 下标等于 4 的li(第五个 li 元素)
$("li:gt(2)")    // 下标大于 2 的li
$("li:lt(2)")    // 下标小于 2 的li
$("li:not(#runoob)") // 挑选除 id="runoob" 以外的所有li3.2内容过滤选择器
$("div:contains('Runob')")    // 包含 Runob文本的元素
$("td:empty")                 // 不包含子元素或者文本的空元素
$("div:has(selector)")        // 含有选择器所匹配的元素
$("td:parent")                // 含有子元素或者文本的元素3.3可见性过滤选择器
$("li:hidden")       // 匹配所有不可见元素,或type为hidden的元素
$("li:visible")      // 匹配所有可见元素3.4属性过滤选择器
$("div[id]")       		  // 所有含有 id 属性的 div 元素
$("div[id='123']")        // id属性值为123的div 元素
$("div[id!='123']")       // id属性值不等于123的div 元素
$("div[id^='qq']")        // id属性值以qq开头的div 元素
$("div[id$='zz']")        // id属性值以zz结尾的div 元素
$("div[id*='bb']")        // id属性值包含bb的div 元素
$("input[id][name$='man']") //多属性选过滤,同时满足两个属性的条件的元素3.5状态过滤选择器
$("input:enabled")    // 匹配可用的 input
$("input:disabled")   // 匹配不可用的 input
$("input:checked")    // 匹配选中的 input
$("option:selected")  // 匹配选中的 option4.表单选择器
$(":input")      //匹配所有 input, textarea, select 和 button 元素
$(":text")       //所有的单行文本框,$(":text") 等价于$("[type=text]"),推荐使用$("input:text")效率更高,下同
$(":password")   //所有密码框
$(":radio")      //所有单选按钮
$(":checkbox")   //所有复选框
$(":submit")     //所有提交按钮
$(":reset")      //所有重置按钮
$(":button")     //所有button按钮
$(":file")       //所有文件域
全部选择器参考 ☆

菜鸟教程 - 选择器

四、常用的 jQuery 事件方法

事件写法
$('selector').func(arg1,arg2,...);
// selector:某个元素
// func:事件函数
// arg1:参数,一般是事件函数的配置参数,和回调函数

eg:jQuery使用事件 —— 点击元素后隐藏该元素:

$("p").click(function(){$(this).hide();
});
  • $(document).ready(),等价 $() —— html 所有标签(DOM)都加载之后执行

  • 获取事件对象,里面包含各种有用的信息:

    $(document).ready(function(){$(window).keypress(function(event){    //获取事件对象,里面包含各种有用的信息。console.log(event);//console.log(event.which);});
    });
    
鼠标事件
  • click() —— 单机元素
  • dblclick() —— 双击元素
  • mouseenter() —— 当鼠标指针穿过元素时,会发生 mouseenter 事件。
  • mouseleave() —— 当鼠标指针离开元素时,会发生 mouseleave 事件
  • mousedown() —— 当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件
  • mouseup() —— 当在元素上松开鼠标按钮时,会发生 mouseup 事件
  • hover() ——光标悬停事件
元素事件
  • focus() —— 元素(表单)获取焦点
  • blur() —— 元素(表单)失去焦点
  • change() —— 当元素的值改变时发生 change 事件(仅适用于表单字段)
  • submit() —— 当提交表单时,会发生 submit 事件。该事件只适用于 form 元素。
键盘事件
  • keydown() —— 在键盘上按下某键时发生,一直按着则会不断触发(opera浏览器除外), 它返回的是键盘代码;

  • .keyup() —— 用户松开某一个按键时触发, 与keydown相对, 返回键盘代码

  • .keypress() —— 在键盘上按下一个按键,并产生一个字符时发生, 返回ASCII码。注意: shift、alt、ctrl等键按下并不会产生字符,所以监听无效 ,换句话说, 只有按下能在屏幕上输出字符的按键时keypress事件才会触发。若一直按着某按键则会不断触发。

    拓: keypress事件获取键入字符

    $(window).keypress(function(event){//event.which是获取ASCII码,前面的函数是将ASCII码转换成字符,空格键和Enter键输出均为空白。console.log(String.fromCharCode(event.which));//从event对象中key属性获取字符,但是Enter键的key值为"Enter",空白键还是空白" "。console.log(event.key);
    });
    
文档/窗口事件
  • load() —— 当指定的元素已加载时,会发生 load 事件。该方法在 jQuery 版本 1.8 中已废弃
  • resize() —— 当调整浏览器窗口大小时,发生 resize 事件。
  • scroll() —— 当用户滚动指定的元素时,会发生 scroll 事件。
  • unload() —— Firefox 与 Chrome 会阻止弹窗,所以没办法看到效果。
    当用户离开页面时,会发生 unload 事件。
    当发生以下情况下,会触发 unload 事件:
    点击某个离开页面的链接
    在地址栏中键入了新的 URL
    使用前进或后退按钮
    关闭浏览器窗口
    重新加载页面

    unload() 方法规定当 unload 事件发生时会发生什么。
    unload() 方法只应用于 window 对象。
    注意:unload 事件在不同浏览器中效果不一样,请确保使用前在所有浏览器测试该方法。unload() 方法在 jQuery 版本 1.8 中被废弃,在 3.0 版本被移除。
全部事件方法参考 ☆

菜鸟教程 - 事件方法

五、效果事件

全部效果事件参考 ☆

菜鸟教程 - 效果事件


杂学

1.jQuery维护: 如果网站包含许多页面,并且你希望你的 jQuery 函数易于维护,那么要把 jQuery 函数放到独立的 .js 文件中,通过src导入即可。
2.事件: 页面对不同访问者的响应叫做事件,jQuery 是为事件处理特别设计的。
3.事件处理: 程序指的是当 HTML 中发生某些事件时所调用的方法。
4. jQuery 动态生成元素: 对于由 jQuery 动态生成的元素,不能直接绑定常用的事件,如 click等。
eg:

$(".box ").click(function(){});

这样虽然产生了类box,但仍然没有点击事件,解决方案:

$(".box ").live('click', function(){});	// 不建议
// 或者:
$(".box ").on('click', function(){});	
// 另外 click, blur, keyup, change等方法,都可以这样解决。

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

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

相关文章

nginx内嵌变量

FORWARD:http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_core_module.html#variables ngx_http_core_module模块支持内嵌变量,变量名与Apache服务器对应。 首先,这些变量可以表示客户端的请求头字段,诸如$http_user_agent、$ht…

pdf文档遇到了共享冲突_如何将链接共享为PDF格式的Google文档链接

pdf文档遇到了共享冲突Using Google Docs is a great way to collaborate on and share documents. Sometimes, though, you want to provide somebody with a PDF instead of an editable document. Google Docs now lets you edit your sharing link to provide a PDF. Best …

Visual Studio 2019 preview中体验C# 8.0新语法

准备工作: Visual Studio 2019 Preview版本中并没有包含所有的C# 8.0的新功能,但目前也有一些可以试用了。在开始之前,需要进行入两项设置: 将Framework设置为.net core 3.0 将C#语法设置为8.0 也可以直接编辑.csproj文件&#x…

jQuery 对HTML的操作(二)

文章目录一、jQuery获取、设置HTML标签的内容和属性获得内容 - text()、html() 以及 val()获取属性 - attr(),prop()二、增删 HTML 的内容增加删除三、操作CSSaddClass 添加removeClass 删除toggleClass 切换css 获取与设置所有操作html、css方法参考 ☆四、操作元素…

roku能不能安装软件_如何在Roku中使用Google Assistant

roku能不能安装软件As more of our devices connect to each other, it’s always nice to know that different products from different companies work together. A Chromecast isn’t expensive, but being able to use your TV directly with Google Assistant is better.…

在线建立或重做mysql主从复制架构方法(传统模式和GTID模式)【转】

mysql主从复制架构,是mysql数据库主要特色之一,绝大多数公司都有用到。 而GTID模式是基于事务的复制模式的意思,发展到现在也是越来越多人用。 以前很多文章,介绍搭建mysql主从复制架构,是需要停止应用服务来做的,对于生产环境&am…

面试学习资料

1 Java面试资料总结 (github推荐指数高) 2 后端架构师 1. 综合 《Java 面试题 —— 老梁 Java 面试通关要点汇总集》《Java 面试题 —— 老徐 Java 初中级准备的面试题》《Java 面试题 —— 零度 Java 面试题系列》《Java 面试题 —— 东黄的学习方法和面…

jQuery对Ajax的封装应用(三)

文章目录一、Ajax二、load三、ajax(参数),get,set$.ajax$.ajax的get、post简写形式四、ajax全部方法参考 ☆一、Ajax AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。…

如何使用卡巴斯基急救盘清理感染的PC

When you’re dealing with a PC that is completely infected in viruses, sometimes the best thing to do is reboot into a rescue disk and run a full virus scan from there. Here’s how to use the Kaspersky Rescue Disk to clean an infected PC. 当您要处理一台完全…

2018.12.08 codeforces 946D. Timetable(背包)

传送门 题意简述:有一个人上n天课,每天有m个小时的时间安排表(一个01串),为1表示要上课,否则不上课,求出如果可以最多翘kkk节课这nnn天在校待的总时间的最小值(一天必须在所有课上完…

jQuery杂项进阶(四)

文章目录一、$ 的替换二、使用JSONP实现跨域三、jQuery 杂项方法、实用工具、回调对象、延迟对象参考 ☆四、jQuery 自身属性参考 ☆五、jQuery 插件介绍和参考 ☆jQuery 树型菜单插件(Treeview)jQuery Validate表单验证,jQuery Password Validation(密码…

什么是WLIDSVC.EXE和WLIDSVCM.EXE,它们为什么运行?

You’re no doubt reading this article because you’re wondering what those two processes are doing cluttering up Task Manager, and also wondering why they are in capital letters. You’ve come to the right place. 毫无疑问,您阅读本文是因为您想知道…

[USACO10DEC] Treasure Chest

题目链接 90 Points:智障的区间 DP……设 dp[i][j] 表示区间 [i, j] 能取的最大价值,但我还是 sd 地开了第三维表示先取还是后取的价值。 交上去以为能 A,结果 #2 开心地 MLE……一看内存,64MB(把评测机吊起来打一顿&a…

工程化,模块化,组件化,规范化

前端讲究 工程化,模块化,组件化,层层递进。 一、工程化 工程化是整个工程的结构、样式和动作分离,工程化是一种思想而不是某种技术(当然为了实现工程化我们会用一些技术)。各种规范、技术选型、项目构建优…

linux压缩和解压缩_Linux QuickTip:一步下载和解压缩

linux压缩和解压缩Most of the time, when I download something it’s a file archive of some kind – usually a tarball or a zip file. This could be some source code for an app that isn’t included in Gentoo’s Portage tree, some documentation for an internal …

Spark架构与作业执行流程简介

2019独角兽企业重金招聘Python工程师标准>>> Spark架构与作业执行流程简介 博客分类: spark Local模式 运行Spark最简单的方法是通过Local模式(即伪分布式模式)。 运行命令为:./bin/run-example org.apache.spark.exam…

Spring boot整合Mongodb

最近的项目用了Mongodb,网上的用法大多都是七零八落的没有一个统一性,自己大概整理了下,项目中的相关配置就不叙述了,由于spring boot的快捷开发方式,所以spring boot项目中要使用Mongodb,只需要添加依赖和…

nodejs和Vue和Idea

文章目录Vue环境搭建Idea安装Idea中配置Vue环境Node.js介绍npm介绍Vue.js介绍[^3]Idea介绍Vue环境搭建 概述:vue环境搭建:需要npm(cnpm),而npm内嵌于Node.js,所以需要下载Node.js。 下载Node.js&#xff1…

Spring MVC上下文父子容器

2019独角兽企业重金招聘Python工程师标准>>> Spring MVC上下文父子容器 博客分类: java spring 在Spring MVC的启动依赖Spring框架,有时候我们在启动Spring MVC环境的时候,如果配置不当的话会造成一些不可预知的结果。下面主要介绍…

12.7 Test

目录 2018.12.7 TestA 序列sequence(迭代加深搜索)B 轰炸bomb(Tarjan DP)C 字符串string(AC自动机 状压DP)考试代码AC2018.12.7 Test题目为2018.1.4雅礼集训。 时间:4.5h期望得分:010010实际得分:010010 A 序列sequence(迭代加深搜索) 显然可…