随着jQuery版本的更新,以前版本的Bind(),live(),delegate()事件可以直接被on代替,本次笔记仅以点击事件为例,主要考察了on事件的用法:

一、用on监听点击事件前添加的DOM,可以正常触发:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#test {
height: 100px;
font-size: 50px;
color: yellow;
line-height: 100px;
background-color: red;
text-align: center;
}
</style>
<script src="http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script>
<script>
$( function(){
var oDiv = $('<div id="test">点我</div>');
$(document.body).append(oDiv);
$("#test").on('click', function(){
alert('这是事件前添加的DOM,可以正常触发点击事件');
});
} );
</script>
</head>
<body>
<div id="wrap"></div>
</body>
</html>
二、用on监听点击事件后添加的DOM,无法正常触发:
<!-- 一、正常的DOM: -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#test {
height: 100px;
font-size: 50px;
color: yellow;
line-height: 100px;
background-color: red;
text-align: center;
}
</style>
<script src="http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script>
<script>
$( function(){
$("#test").on('click', function(){
alert('这是事件后添加的DOM,无法正常触发点击事件');
});
var oDiv = $('<div id="test">点我</div>');
$(document.body).append(oDiv);
} );
</script>
</head>
<body>
<div id="wrap"></div>
</body>
</html>
三、解决办法:利用事件委托。需要注意的是:委托的对象必须是DOM中已经存在或者事件前动态添加,此时,用on监听后后可以正常触发事件,否则如:步骤四:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#test {
height: 100px;
font-size: 50px;
color: yellow;
line-height: 100px;
background-color: red;
text-align: center;
}
</style>
<script src="http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script>
<script>
$( function(){
var oWrap = $('<div id="wrap"></div>');
$(document.body).append(oWrap);
$("#wrap").on('click', $('#test'), function(){
alert('委托对象在事件前添加,可以正常触发点击事件');
});
var oDiv = $('<div id="test">点我</div>');
$("#wrap").append(oDiv);
} );
</script>
</head>
<body>
</body>
</html>
四、委托对象在事件后添加,无法触发点击事件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
#test {
height: 100px;
font-size: 50px;
color: yellow;
line-height: 100px;
background-color: red;
text-align: center;
}
</style>
<script src="http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script>
<script>
$( function(){
$("#wrap").on('click', $('#test'), function(){
alert('委托对象在事件后添加,无法正常触发点击事件');
});
var oWrap = $('<div id="wrap"></div>');
$(document.body).append(oWrap);
var oDiv = $('<div id="test">点我</div>');
$("#wrap").append(oDiv);
} );
</script>
</head>
<body>
</body>
</html>
五、说明:工作中,on事件比较常用的还是事件绑定和事件委托,至少我碰到的比较多,live事件on用法主要是前面的jQuery对象变成了document,如:$(document).on(),故不另作举例。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# jquery用on绑定事件
# jquery
# 绑定事件
# jQuery中对未来的元素绑定事件用bind、live or on
# jquery新的绑定事件机制on方法的使用方法
# JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
# 浅谈jquery之on()绑定事件和off()解除绑定事件
# jQuery中bind()
# live()
# delegate()
# on()绑定事件方法实例详解
# jQuery中on绑定事件后引发的事件冒泡问题如何解决
# Jquery on方法绑定事件后执行多次的解决方法
# jQuery中绑定事件bind() on() live() one()的异同
# jQuery绑定事件on()与弹窗的简要概述
# 这是
# 无法正常
# 的是
# 可以直接
# 为例
# 比较多
# 解决办法
# 绑定
# 需要注意
# 仅以
# 主要是
# 变成了
# style
# type
# text
# head
# charset
# utf
# meta
# px
相关文章:
山东网站制作公司有哪些,山东大源集团官网?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
湖北网站制作公司有哪些,湖北清能集团官网?
广平建站公司哪家专业可靠?如何选择?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何在阿里云ECS服务器部署织梦CMS网站?
建站DNS解析失败?如何正确配置域名服务器?
常州自助建站费用包含哪些项目?
建站之星如何快速更换网站模板?
如何基于云服务器快速搭建个人网站?
如何用狗爹虚拟主机快速搭建网站?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
宝塔新建站点为何无法访问?如何排查?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何访问已购建站主机并解决登录问题?
如何通过VPS建站无需域名直接访问?
小程序网站制作需要准备什么资料,如何制作小程序?
如何基于PHP生成高效IDC网络公司建站源码?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
测试制作网站有哪些,测试性取向的权威测试或者网站?
建站之星如何防范黑客攻击与数据泄露?
如何高效生成建站之星成品网站源码?
济南企业网站制作公司,济南社保单位网上缴费步骤?
长沙做网站要多少钱,长沙国安网络怎么样?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何正确选择百度移动适配建站域名?
网站制作员失业,怎样查看自己网站的注册者?
网站企业制作流程,用什么语言做企业网站比较好?
建站之星Pro快速搭建教程:模板选择与功能配置指南
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
建站主机与服务器功能差异如何区分?
建站10G流量真的够用吗?如何应对访问高峰?
如何在西部数码注册域名并快速搭建网站?
免费视频制作网站,更新又快又好的免费电影网站?
如何确认建站备案号应放置的具体位置?
如何在香港服务器上快速搭建免备案网站?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
网站制作的步骤包括,正确网址格式怎么写?
定制建站价位费用解析与套餐推荐全攻略
b2c电商网站制作流程,b2c水平综合的电商平台?
制作门户网站的参考文献在哪,小说网站怎么建立?
建站168自助建站系统:快速模板定制与SEO优化指南
专业公司网站制作公司,用什么语言做企业网站比较好?
深圳网站制作的公司有哪些,dido官方网站?
非常酷的网站设计制作软件,酷培ai教育官方网站?
微课制作网站有哪些,微课网怎么进?
如何在阿里云通过域名搭建网站?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
深圳网站制作平台,深圳市做网站好的公司有哪些?
Python多线程使用规范_线程安全解析【教程】
*请认真填写需求信息,我们会在24小时内与您取得联系。