全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jQuery中用on绑定事件时需注意的事项

随着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小时内与您取得联系。