·
教程大全 ·
166946
最近在做移动端的项目,在ios上对body绑定click事件实现事件代理冒泡至某些元素上不生效,怎么回事,如何解决呢?今天小编给大家带来了IOS设备上给body绑定click事件不生效的原因及解决办法,一起看看吧
事件背景:
最近在做一个移动端业务的时候碰到一个bug,在ios上对body绑定click事实现事件代理冒泡至某些元素上尽然不生效。
思考:
暂借助jquery展示下事件绑定代码,将所有标签含有data-tip属性的元素通过事件代理至body
$('body').on('click','[data-tip]',function(e){
console.log($(this.).attr('data-tip'))
})
这样做在android和pc上都可以正常实现,但是在ios上面对部分标签尽然不生效。比如 tr , span ...这样的标签
解决办法:
1.将click事件换成touch事件,同时还可以解决300ms的click延迟问题,但是需要e.stopPropagation()来阻止冒泡的处理会非常麻烦。
2.在对不能正常冒泡的元素上再进行一次事件绑定,比如对于tr可以在<table>上再进行一次事件代理。
3.最简洁的办法,在不能正常冒泡的元素的css属性里面添加,cursor:pointer属性。
4.换成可以正常冒泡的标签。
您可能感兴趣的文章:
- iOS如何获取屏幕宽高、设备型号、系统版本信息
- asp.net 通过UserAgent判断智能设备(Android,IOS)
- 检测iOS设备是否越狱的方法
- Cisco设备IOS的恢复方法
- 使用Reachability类判断iOS设备的当前网络连接类型
- 如何在iphon IOS设备上使用二维码
- Cisco路由交换设备之IOS故障排除
- iOS获取当前设备WiFi信息的方法
- iOS App开发中通过UIDevice类获取设备信息的方法
- iOS获取设备唯一标识的8种方法
根本差异在于命令组织模型:argparse是单入口多子命令需手动拼凑,click是天然嵌套的树状结构,支持透传配置、命令别名、精准报错及安全类型校验。 click.Command和argparse.ArgumentParser的根本差异在哪里 核心区别不在语法糖,而在命令组织模型:argparse是...
argparse适合简单脚本,click更适合产品化CLI工具;前者轻量标准但子命令难维护,后者功能丰富但学习成本略高,选择取决于使用者、使用频率及扩展需求。 argparse适合快速写脚本,但嵌套子命令难维护 当你只需要一个简单命令行工具,比如pythonbackup.py--source/dat...
APScheduler是Python中功能强大且灵活的定时任务调度库,支持内存级或持久化级任务管理,提供BlockingScheduler、BackgroundScheduler和AsyncIOScheduler三种常用调度器,以及date、interval、cron四种触发器,并建议生产环境使用S...
小编给大家分享一下iOS中Safari点击事件失效怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题描述当使用委托给一个元素添加click事件时,如果事件是委托到document或body上,并且委托的元素是默认不可...
工欲善其事必先利其器,今天给大家推荐一些程序员(开发者)用得上的实用开发工具,部分下载地址已经在链接中,需要的话可以自取。 1、文本编辑器——Notepad++ 相信绝大部分程序员用上它都会爱得死去活来。Notepad++是一套非常有特色的自由软件的纯文字编辑器。支持27种编程语言,通吃C,C++,...
这篇文章主要介绍了如何使用iOS开发实现翻转扑克牌动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。动画效果实现原理实现原理就是创建三个扑克牌pockerView,先在扑克牌上添加一个imageview,作为牌的背面。然后实现翻转动画...
这篇文章主要为大家分析了iOS浮点类型精度问题的原因与解决办法是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“iOS浮点类型精度问题的原因与解决办法是什么”的知识吧。前言相信不少人(其实我觉得应该是每个人)都遇到...
小编给大家分享一下IOS如何实现三数之和,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、三数求和简单介绍对于一个整数的数组,是否存在a,b,c使得a+b+c=0,返回abc数组,相同数组只返回一个,:例如:[-1,-2,...