位置: 编程技术 - 正文

jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法(jqueryon事件)

编辑:rootadmin

推荐整理分享jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法(jqueryon事件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery的事件处理函数,jquerychange事件,jquerychange事件,jqueryon事件,jquery事件冒泡,jquery事件对象中,用于取消事件冒泡的方法是,jquery事件冒泡,jquery中的事件和事件处理有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

首先,大家都知道,jQuery事件触发时有2种机制,一种是事件委托,另一种是事件冒泡(IE情况暂时不考虑)。拿click事件做例子,先附上一段代码:

html:

script:

这段代码的本意是,当我点击#btn的时候,我要alert出来“btn”字符串,而当我点击#box的时候,我要把#btn隐藏,但是,在实际执行的时候,当我点击btn的时候,他是会先执行btn的事件,继而执行box的事件,也就是先alert,再隐藏。与我们所想有所出入,那到底要怎么解决这个问题呢,这里就要想到事件冒泡这个机制,因为当我点击btn的时候,事件会向上冒泡到父元素,直至document对象。

1.7(没记错的话)之后的jQuery版本,提供了.on()事件,用来处理绑定元素的事件,这里我们可以用.on()事件,以及stopPropagation()方法来阻止事件冒泡:

这里我先用on绑定了#btn的事件,使得在点击到btn按钮的时候,alert('btn'),但是因为我 e.stopPropagation()阻止了事件冒泡,因此,就不会触发toggleClas事件;而此时我点击#box的时候,就是正常的toggleClass事件被触发;

这里思考了一下,如果不用.on()该怎么解决,类似于原生js中,用addEventListener监听点击的target,代码也不复杂:

这样子,就能达到阻止事件冒泡的样子了。

当然,事件冒泡也并非都是副作用,就是我们要讲的另一种,那就是事件委托,事件委托就是建立在事件冒泡的基础上的,比如上面那个例子,你可以假设#btn和#box之间有很多元素,当我想要点击最里层的#btn的时候,想要触发他对应的事件,那么,就可以通过点击它的外围元素,然后判断点击的是否是目标元素,也就是btn,如果是,那么触发btn的事件,其实就是上面.on()的这个例子,可以改写成:

jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法(jqueryon事件)

把btn的事件委托给点击body来处理。

最后再仔细的分析一下,其实事件委托和事件冒泡,从逻辑上来思考无非就是2个相反的方向在执行。事件委托其实就是事件捕获过程,可以看成是从外到内捕获的过程;而事件冒泡就是从里到外冒泡的过程。

jquery的冒泡事件的阻止与允许(三种实现方法)

冒泡或默认的事件发生,在某些时候是不需要的,在此就需要一些可以阻止冒泡和默认的事件的方法,本文介绍三种方法做到不同程度的阻止,感兴趣的朋友可以了解下,或许对你了解冒泡事件有所帮助

有时我们不希望冒泡或默认的事件发生,这样就需要一些jquery的的方法阻止冒泡和默认的事件了。可以通过以下三种方法做到不同程度的阻止。

A:return false --->In event handler ,prevents default behavior and event bubbing 。

return false 在事件的处理中,可以阻止默认事件和冒泡事件。

B:event.preventDefault()---> In event handler ,prevent default event (allows bubbling) 。

event.preventDefault()在事件的处理中,可以阻止默认事件但是允许冒泡事件的发生。

C:event.stopPropagation()---> In event handler ,prevent bubbling (allows default behavior).。

event.stopPropagation()在事件的处理中,可以阻止冒泡但是允许默认事件的发生。

jquery实现两边飘浮可关闭的对联广告 效果展示:代码说明:可关闭的左右两边飘浮的对联广告代码jquery特效,宽屏分辨率大于px才显示。因为考虑到窄屏下显示对联广告那真是用户体验超

基于Jquery实现仿百度百科右侧导航代码附源码下载 先给大家展示下效果图,看看是不是亲想要实现的效果,如果还满意的话请查看本文详情,同时大家也可以下载源码哦。效果图:效果展示源码下载代

jQuery实现图片预加载效果 本文实例讲述了jQuery实现图片预加载效果代码。分享给大家供大家参考。具体如下:运行效果截图如下:具体代码如下:html代码:divclass="main"brdivclass="t

标签: jqueryon事件

本文链接地址:https://www.jiuchutong.com/biancheng/373849.html 转载请保留说明!

上一篇:基于jquery animate操作css样式属性小结(基于jquery实现小说)

下一篇:jquery实现两边飘浮可关闭的对联广告(jquery左右移动动画效果)

  • 增值税什么时候计入成本
  • 供应商属于应收账款吗
  • 税金及附加有啥
  • 个体商户多少钱需要报税
  • 企业残保金申报流程
  • 劳务公司差额计税收到的代发工资怎么开票
  • 小规模购买税盘的费用可以抵税吗
  • 接受投资的固定资产账务处理
  • 发票丢失怎么做分录
  • 计算土地增值税时增值税可以扣除吗
  • 销售积分税务处理的特点
  • 公司注销时发现很多年前多发了员工的工资
  • 购买办公楼支付相关手续费
  • 快递费的进项税可以抵扣吗
  • 出口押汇与打包押汇区别
  • 增值税税负多少算高
  • 金税三期里有员工无工资如何申报?
  • 进口增值税未抵扣怎么办
  • 特许权使用费如何缴纳增值税
  • 主营业务税金及附加大概比例
  • 提供物业管理服务税率
  • 分公司交总公司管理费怎么做账
  • 上个月的费用这个月开发票怎么做账
  • 管理费用月末结账
  • 员工培训费应该怎么算
  • 税务公司属于什么性质
  • 营业外收支计入应纳税所得额吗
  • 利润表中哪些属于营业外收入
  • 企业与企业之间进行的电子商务模式是
  • 要看网怎么找
  • 向股东借款作为股东借款
  • 企业发放职工薪酬属于资金的运用
  • 今天端午节是几月几号啊
  • antdesign vue pro
  • 莫斯塔尔古桥多高
  • 劳务报酬可以扣除合理支出吗
  • 一般纳税人零申报怎么报税
  • 社保基数跟个税差1仟多有风险吗
  • 结转增值税的账务处理
  • 帝国cms安装教程
  • 哪些费用计入管理费用中
  • 公司年底封账时间
  • 健身房注册公司名称带超字
  • 裁员补偿金如何合理避税
  • js异步方式有哪些
  • 企业报废原材料如何处理
  • 一般纳税人跨月发票怎么作废
  • 政府补贴需要还吗
  • 存货出入库需要什么凭证
  • 速达建账套期初数据
  • 融资租赁担保余值例题
  • db2运维命令
  • mysql5.7版本安装教程
  • 以前年度多交的所得税怎么退
  • 事业单位非税收入帐务处理
  • 出口海运费222011
  • 服装公司的会计怎么做账
  • 社保年度汇算清缴怎么做
  • 职工医保报销会扣医保卡的钱吗
  • 金税盘离线开票时间超限的处理方法
  • 银行承兑汇票能拆分背书吗
  • 企业共同控制持股比例怎么算
  • 其他商业项目
  • sql ntext数据类型字符替换实现代码
  • mysql 5.7.10 winx64安装配置方法图文教程(win10)
  • 在linux系统中,用来存放系统所需要的配置文件和子目录
  • txt无法打开怎么弄
  • xp开始界面
  • Win7旗舰版系统文件名称
  • 根据自己的需求配置一台电脑
  • windows 8.1 with update (multiple editions)
  • win102h20
  • linux就该这么
  • linux ls命令什么意思
  • js判断div是否有滚动条
  • android recycleview 刷新
  • ios shell脚本
  • 新加坡关税壁垒
  • 泗洪临淮公交车运行时间表
  • 地税局基层职位怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设