记一次事件委托在 ios 下的兼容 bug

本文探讨了在iOS设备上使用事件委托时遇到的click事件兼容性问题。当click事件绑定到document或body上时,如果委托的元素是默认不可点击的(如div, span等),则click事件会失效。文章提供了具体的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中碰到的兼容类 bug,记录一二。

页面上有几个同类型的控件,点击它们会触发一些事件,很显然,事件委托优于批量绑定。为了图方便,我将 click 事件绑定到了 document.body 上(绑定在 document 上也是一样),在安卓机上反应良好,ios 上居然不会触发点击事件!

试着将事件绑定到了控件的父级元素,问题消失了。

事实上,当使用事件委托给一个元素添加 click 事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效。如果是可点击的(比如 button、a 标签),此时 click 事件还是有效的,这点要特别注意。

Read More:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值