jQuery总结--版本二 事件处理函数
一:事件处理函数
(1)
one(事件名称, fn) 仅对指定事件监听一次,监听事件只会执行一次
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
</style>
</head>
<body>
<h1>仅进行一次的事件处理</h1> <button>开始抽奖</button> <script src="js/jquery-1.11.3.js"></script>
<script>
$('button').one('click', function(){
$(this).html('抽奖中...')
console.log('抽奖中...')
})
</script>
</body>
</html>
(2)on()/off()
on()函数的第一种使用方法——直接绑定在事件源上:
$('事件源').on('事件名称', fn) //绑定监听函数
$('事件源').off('事件名称') //取消所有监听函数
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
</style>
</head>
<body>
<h1>事件处理</h1> <button>开始抽奖</button> <script src="js/jquery-1.11.3.js"></script>
<script>
$('button').on('click', function(){
console.log('处理函数1...')
})
$('button').on('click', function(){
console.log('处理函数2...')
})
$('button').on('click', function(){
console.log('处理函数3...');
$(this).html('抽奖中....');
console.log('抽奖中.........');
$(this).off('click'); //取消单击事件绑定
}) //$('button').off('click')
</script>
</body>
</html>
on()的第一种用法有两个限制:
(1)若选中元素很多,每个都会有一个监听函数
(2)无法为后添加的元素执行绑定
on()函数的第二种使用方法——委托给父元素进行事件代理:
$('parent').on('事件名称', '子元素选择器', fn)
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
</style>
</head>
<body>
<h1>事件代理</h1> <button id="btAdd">添加新的按钮</button> <hr/> <div class="container">
<button>1</button>
<button>2</button>
<button>3</button>
</div> <script src="js/jquery-1.11.3.js"></script>
<script>
$('#btAdd').click(function(){
$('.container').append('<button>9</button>'); }); //把监听函数绑定给每个事件源对象
/*$('.container button').on('click', function(){
console.log( $(this).html() )
})*/ //每个按钮都把事件委托给公共的父元素
$('.container').on('click','button',function(){ //console.log(this); //事件源对象
console.log( $(this).html() );
}) console.log('事件绑定全部完成')
</script>
</body>
</html>
|
DOM中为元素绑定监听函数: btn.onclick = function(){ } btn.addEventListener('click', function(){ }) |
|
jQuery中的on()函数底层是addEventListener |
jQuery总结--版本二 事件处理函数的更多相关文章
- jquery事件之事件处理函数
一.事件处理 方法名 说明 语法 (events 事件类型,data数据,handler 事件处理函数,selector 选择器) Bind( 为每一个匹配元素的特定事件(像click)绑定一个事件处 ...
- Jquery动态绑定事件处理函数 bind / on / delegate
1.bind方法绑定的事件处理函数不会应用到后来添加到DOM中的新元素.比如你在用bind给页面元素绑定事件之后,又新添加了一些与之前绑定过事件的元素一样的DOM元素,但是这些事件并不能在新的DOM元 ...
- W3C和IE中的事件处理函数
在上一篇文章中提到了关于传统的JS中注册事件对象的一些缺点和问题,下面是关于DOM2级的现代事件绑定.本文中设计到的HTML文件在文章最后 一.W3C事件处理函数 “DOM2 级事件”定义了两个方法, ...
- jquery中attr()与prop()函数用法实例详解(附用法区别)
本文实例讲述了jQuery中attr()与prop()函数用法.分享给大家供大家参考,具体如下: 一.jQuery的attr()方法 jquery中用attr()方法来获取和设置元素属性,attr是a ...
- jQuery基础(二)DOM
DOM节点的创建 jQuery节点创建与属性的处理 创建元素节点: $("<div></div>") 创建为文本节点: $("<div> ...
- 彻底弄懂jQuery事件原理二
上一篇说到,我们在最外层API的on,off,tiggler,triggerHandler调用的是event方法的add,remove和tirgger方法,本篇就来介绍event辅助类 \ 先放个图, ...
- jQuery使用最广泛的javascript函数库
网站建设中,jQuery之最方便的的库了,当用到其中的JavaScript函数库的时候,不禁会想居然还有这么简单的操作? 一.选择网页元素 jQuery的基本设计思想和主要用法,就是"选择某 ...
- [转]jQuery不同版本区别
原文转载自csdn:http://blog.csdn.net/u010167032/article/details/23666145 了解不同版本之间的差异,与助于选择适合自己项目的版本. ⒈4重要新 ...
- one(type,[data],fn) 为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。
one(type,[data],fn) 概述 为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数. 在每个对象上,这个事件处理函数只会被执行一次.其他规则与bind()函数相同.这 ...
随机推荐
- 在Centos中yum安装和卸载软件的使用方法
安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php p ...
- 这可能是php世界中最好的日志库——monolog
由于一些历史原因,php中并没有内建的日志接口,故长期以来也没一个功能完备并且应用广泛的日志库.在我的工作生涯中,如果系统需要记录一些应用日志的话,基本上就是封装一个日志类,然后把一些要记录的字段写入 ...
- linux下编译安装nginx
1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf ...
- 使用Docker
1. 使用镜像 1.1 在Docker Hub上查找镜像 我们查找一下之前博客里面,推送到Docker Hub里面的bage88/docker-demo,能看到有2个仓库,第一个就是我们上次上传的镜像 ...
- Ubuntu16.04安装opencv for python/c++
Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...
- 在Ueditor / Umeditor中实现上传图片跨域
近几天公司的后台管理需要图文编辑文章,但是ueditor提供的方法中,本地图片的上传是通过flash的方式处理的,且不支持跨域.若要在已经前后端分离的Angular项目中使用,需要做复杂的环境配置.跟 ...
- stl_各容器的总结
一.stl容器总结: 1.以下的操作是在一千万的数据下操作.copy 都是在足够的空间下进行的copy, 测量方式: std::clock_t start = std::clock(); //待测代码 ...
- sublime text 3文件标题无法显示中文的解决办法
前言 你是否遇也到了sublime文件标题无法显示中文的问题呢?如下列图片所示: 解决办法 1.点击菜单栏Preferences - > Settings. 打开下图: 2.在右边User内加入 ...
- linux服务器性能(网卡流量、CPU、内存、磁盘使用率)监控
广义的网站的监控涵盖所有的非业务行为的数据采集与管理,包括数据分析师和产品设计师使用的网站用户行为日志.业务运行数据,以及供运维工程师和开发工程师使用的性能统计数据等. 本文主要是通过shell脚本来 ...
- jQuery图片上传前先在本地预览(不经过后端处理)
前段时间遇到一个问题,前端想实现图片上传预览(不经过后端PHP或JAVA处理),用户点击file按钮上传文件,点击确定马上就能看到预览的效果,但在实现的时候无论怎样都取不到file上图片的真实路径,得 ...