jQuery学习(三)
事件
on方法可以将一个事件绑定在jQuery对象上,当你的操作触发了这些事件时,便会调用你所绑定的函数。
例如,给某个超链接绑定点击事件。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="./js/jquery-1.12.0.js"></script>
<script>
$(document).ready(function(){
var a = $('a');
a.on('click', function(){
alert('Hello Word');
});
});
</script>
<title>Event</title>
</head>
<body>
<a href="#0">Click</a>
</body>
除了用on()以外,还可以直接用click来绑定点击事件。
<script>
$(document).ready(function(){
var a = $('a');
a.click(function(){
alert('Hello');
});
});
</script>
鼠标事件
click: 鼠标单击时触发;
dblclick:鼠标双击时触发;
mouseenter:鼠标进入时触发;
mouseleave:鼠标移出时触发;
mousemove:鼠标在DOM内部移动时触发;
hover:鼠标进入和退出时触发两个函数,相当于mouseenter加上mouseleave。
键盘事件
键盘事件仅作用在当前焦点的DOM上,通常是<input>和<textarea>。
keydown:键盘按下时触发; keyup:键盘松开时触发; keypress:按一次键后触发。
其他事件
focus:当DOM获得焦点时触发;
blur:当DOM失去焦点时触发;
change:当<input>、<select>或<textarea>的内容改变时触发;
submit:当<form>提交时触发;
ready:当页面被载入并且DOM树完成初始化后触发。
其中,ready仅作用于document对象上,在页面DOM树构建完成后触发。
正如上述代码所示,除了能够用on绑定ready事件外,ready事件也可以像click一样被简写。甚至能被更简单的写为:
<script>
$(function(){
var a = $('a');
a.click(function(){
alert('Hello');
});
});
</script>
而且这种写法更为常见。
如果想获得事件的其他内容,可以在function传入变量e来获取。
取消绑定:
和on()相反的是,off()可以帮我们取消jQuery对象上的事件绑定,
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="./js/jquery-1.12.0.js"></script>
<script>
$(function(){
var a = $('a');
a.click(function(){
alert('Hello');
});
var bt = $('button');
bt.click(function(){
a.off('click');
alert('event_off');
});
});
</script>
<title>Event</title>
</head>
<body>
<a href="#0">Click</a>
<button>event_off</button>
</body>
点击Button时取消了链接的点击事件,再点击链接不会出现提示框。
实际上,这里我们将a链接上的点击事件绑定函数全部取消了,如果只想取消某一个函数,那么我们在绑定时,就不能够采用匿名函数。并且在取消时,将函数对象也作为参数传入。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="./js/jquery-1.12.0.js"></script>
<script>
$(function(){
var click_f2 = function(){
alert('hello 2');
};
var a = $('a');
a.click(function(){
alert('Hello');
});
a.click(click_f2); var bt = $('button');
bt.click(function(){
a.off('click',click_f2);
alert('click_f2 off');
});
});
</script>
<title>Event</title>
</head>
<body>
<a href="#0">Click</a>
<button>event_off</button>
</body>
这段代码中,我们只取消绑定了click_f2,而Hello仍然正常提示。同时我们可以发现绑定事件响应的先后顺序是根据绑定的先后来的。
事件通常是由用户操作触发,如果我们希望代码可以直接触发事件,则可用trigger(),这样能够避免我们写很多重复的代码。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="./js/jquery-1.12.0.js"></script>
<script>
$(function(){
var a = $('a');
a.click(function(){
alert('Hello');
}); var bt = $('button');
bt.click(function(){
a.trigger('click');
});
});
</script>
<title>Event</title>
</head>
<body>
<a href="#0">Click</a>
<button>event_off</button>
</body>
当我们点击按钮时,我们在代码内部触发了a的点击事件,因此也能弹出Hello。
动画:
我们已经知道了通过show()和hide()方法,可以让一个jQuery对象消失或者隐藏。但是当我们给方法传入一个参数时,页面就能呈现渐变的效果,一般传入的参数是毫秒数,但是'slow'和'fast'也能作为参数传入。
show()和hide()是对象由左上角逐渐收起或是展开,而slideUp()和slideDown()则是垂直方向的收起和展开。
fadeIn()和fadeOut()表示渐入渐出的效果。
同时,jQuery还通过animate()支持自定义动画效果。给animate传入最终的CSS样式和变化的时间,则可以在指定时间内渐变成最后的样式。同时,animate还能够传入回调函数,在动画结束后被调用。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Animate</title>
<script src='./js/jquery-1.12.0.js'></script>
<script>
$(function(){
var bt = $('button');
var div = $('#test-animate');
bt.click(function(){
div.animate({
width: '256px',
height: '256px'
},3000,function(){
alert('animate done');
});
});
});
</script>
</head>
<body>
<div id='test-animate'></div>
<button>change CSS</button>
</body>
jQuery学习(三)的更多相关文章
- Jquery 学习三
一.each语句 1.each语句的功能 在jQuery中,通过$函数获取的都是jQuery对象.通过测试可知,jQuery对象是一个类数组的特殊对象,其是DOM对象的集合.而each语句就是专门用于 ...
- JQuery学习三(隐式迭代和节点遍历)
在JQuery中根据id获取控件,如果输入id错误是不报错的. 必要时可以通过写判断语句进行判断是否id写错 <!DOCTYPE html> <html xmlns="ht ...
- jQuery学习三——事件
代码如下: <!DOCTYPE html> <html> <head> <title>jquery事件</title> </head& ...
- jquery 学习(三) - 遍历操作
HTML代码 <p>1111</p> <p>1111</p> <p>1111</p> <p>1111</p&g ...
- jQuery学习(三)——选择器总结
1.基本选择器 id选择器:$(“#id名称”); 元素选择器:$(“元素名称”); 类选择器:$(“.类名”); 通配符:* 多个选择器共用(并集) 案例代码: <!DOCTYPE html& ...
- 初步学习jquery学习笔记(三)
jQuery学习笔记三 jquery停止动画 stop函数的初步功能 <!DOCTYPE html> <html lang="en"> <head&g ...
- jQuery学习-事件之绑定事件(三)
在上一篇<jQuery学习-事件之绑定事件(二)>我们了解了jQuery的dispatch方法,今天我们来学习下handlers 方法: handlers: function( event ...
- jquery学习笔记(三):事件和应用
内容来自[汇智网]jquery学习课程 3.1 页面加载事件 在jQuery中页面加载事件是ready().ready()事件类似于就JavaScript中的onLoad()事件,但前者只要页面的DO ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
随机推荐
- Go gRPC教程-服务端流式RPC(三)
前言 上一篇介绍了简单模式RPC,当数据量大或者需要不断传输数据时候,我们应该使用流式RPC,它允许我们边处理边传输数据.本篇先介绍服务端流式RPC. 服务端流式RPC:客户端发送请求到服务器,拿到一 ...
- Windows&linux使用集成环境搭建 web 服务器
文章更新于:2020-02-17 按照惯例,需要的文件附上链接放在文首 文件名:phpStudy_64.7z 文件大小:78.3 M 下载链接https://www.lanzous.com/i9c6l ...
- VXLAN 基础教程:VXLAN 协议原理介绍
VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网),是一种虚拟化隧道通信技术.它是一种 Overlay(覆盖网络)技术,通过三层的网络来搭建虚拟 ...
- (js描述的)数据结构[树结构1.2](12)
1.先序遍历 2.中序遍历 3.后序遍历 4.递归调用栈详解: 详细见: https://zhuanlan.zhihu.com/p/24291978 5.删除节点操作分析: 5.代码封装 //封装二叉 ...
- Centos7如何安装MySQL
参考博文: 1.安装 https://blog.csdn.net/qq_36582604/article/details/80526287 2.改密码 https://blog.csdn.net/we ...
- Java第三十四天,IO操作(续集),非基本对象的读写——序列化流
一.序列化与反序列化 以前在对文件的操作过程当中,读写的对象都是最基本的数据类型,即非引用数据类型.那么如果我们对饮用数据类型(即对象类型)数据进行读写时,应该如何做呢?这就用到了序列化与反序列化. ...
- Python 获取任意周期开盘日
import json import requests import datetime import tushare as ts cal_dates = ts.trade_cal() today=da ...
- 【Android】EventReminder使用教程(日历事件导出封装库)
碎碎念 为啥要写这个库呢? 尝试自己写一个库调用,学习一下这个流程,为以后做准备 日历库在网上的资料太少了,而这个功能却又很实用 自己做的项目都会涉及到事件导出功能,不想重复写代码 使用方法 引入 在 ...
- Git应用详解第十讲:Git子库:submodule与subtree.md
前言 前情提要:Git应用详解第九讲:Git cherry-pick与Git rebase 一个中大型项目往往会依赖几个模块,git提供了子库的概念.可以将这些子模块存放在不同的仓库中,通过submo ...
- stand up meeting 12-3
因为前后端在参数传递定义不清晰的原因,今天士杰和国庆采用了pair programming的方法,在一台电脑前工作了四十分钟,明确了请求questionpool,请求question,请求rank d ...