click事件在安卓和IOS的区别

LZ做项目,用户评分那里,遇到个bug就是评分点击在安卓以及其他所有模拟端都可以点击,一道苹果手机就不能点了。

$(document).on(‘click‘,‘i‘,function(){    var num = $(this).index();

    var list = $(this).parent().find(‘i‘);    for(var i=0;i<=num;i++){        list.eq(i).attr(‘class‘,‘level_solid‘);    }    for(var i=num+1,len=list.length-1;i<=len;i++){        list.eq(i).attr(‘class‘,‘level_hollow‘);    }    console.log("11")});

查找了资料才知道,苹果需要在判断cursor:pointer才能点击。
.level_hollow{    cursor:pointer;}.level_solid{    cursor:pointer;}

在我的I标签加上这个就可以了。

不过click在移动端会有一点延迟,建议还是用touch的事件。
时间: 2024-11-07 17:36:47

click事件在安卓和IOS的区别的相关文章

app内嵌vue h5,安卓和ios拦截H5点击事件

安卓和ios拦截h5点击事件,这个函数事件必须是暴漏在window下的 安卓和ios拦截普通h5函数: 1 <div onclick = "show(),window.android.show()"></div> 2 <script> 3 function show(){ //如果需要传值,可以在show里添加参数,在上面的点击事件中直接进行传值就好 4 alert(1) 5 } 6 </script> vue函数并没有直接暴漏在wind

[ 面试没回答上的问题2]IOS上给body绑定click事件的bug

面试被问到ios上的bug,自己提到绑定click事件的bug,但是并没有把问题讲的很清楚,这里再清理一下思路. 这个bug只在IOS上有,包括ihone,ipad,由于ios浏览器都用的safari内核,所以ios浏览器全部中枪. bug描述 在进行事件委托时,如果将未存在于DOM的元素事件直接委托到body上的话,会导致事件委托失效,调试结果为事件响应到body子元素为止,既没有冒泡到body上,也没有被body所捕获.但如果事件是DOM元素本身具有的,则不会触发bug.换而言之,只有元素的

关于IOS浏览器:document,body的click事件触发规则

今天做了个手机页面,点击某个按钮->弹出菜单,再点击菜单以外的任意位置->关闭菜单,在其他浏览器里面没有问题,但是在IOS浏览器中并不会关闭. 网上解决这个bug的帖子很多,这篇帖子主要是讲原理,这里写个简单的代码,大家可以复制到自己页面中去实验: <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=devi

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上面对部分标签尽然不

ios微信浏览器click事件不起作用的解决方法

$(document).on( "click", ".weui_cell", function (event) {alert(); }); JS代码是这样的,html代码是动态追加进去的,click事件在苹果手机没作用,在安卓和pc端事件完全正常 经过一番搜索,解决方法也很奇葩,只需在html代码中添加onclick=""   就可以了,记录下来 ,让后面看到的人少走弯路 如:<div class="weui_cell"

tap,touch,touchstart,事件与click事件的区别

根据源码所见, 移动端为了将将单击事件更加灵敏,所以现在的JQM,ST...框架都将JS单击事件封装成tap,或者touch或者touchstart事件, 其实现本质是将click触发多次,以打成移动端触屏灵敏的效果. 所以这里如果使用手机浏览器访问你的st,或者jqm项目,就得使用js修改成click事件,以防止单击多次触发的问题 tap,touch,touchstart,事件与click事件的区别

fastclick与zepto的 tap事件关于在手机上click事件的300ms延迟的区别

之前翻译过一篇关于fastclick的快速点击文章http://www.cnblogs.com/lilyimage/p/3568773.html,fastclick可以解决在手机上点击事件的300ms延迟:另外我们也知道zepto的touch模块,帮助我们实现了很多手机上的事件,比如tap等,tap事件也是为了解决在click的延迟问题.那么他们有什么区别呢? 先看zepto的touch模块实现: 1 $(document) 2 .on('touchstart ...',function(e){

通过js添加的DOM节点的click事件绑定不上的解决方案以及IOS下click事件委派失效的解决方案

问题描述: 如以下代码所示,通过js添加的Dom节点,在其上绑定点击事件,有的时候会出现点击事件不响应的情况,按照正常的理解,js代码具有阻塞性,Dom节点添加成功之后,就可以找到该节点并绑定事件,没有道理会出现事件绑定不上的问题,但是这种情况的确是遇到了多次,问题原因有待日后深入理解,下面记载一下问题的解决方案. 解决方案: 方案一:将事件绑定直接写在行内标签上"<thead onclick='myFunction(this)' >",其中,this代表的是当前元素,是一

ios下按钮click事件点击穿透问题

和app进行混合开发的时候,一个页面使用h5写的,按钮上绑定click事件会触发下面图片上的a链接导致跳转,页面如图 顶部是一个banner,分vr.视频.图片三部分,红框处的三个nav按钮绑定click事件使banner滚动到响应的部分,banner上有a链接用以跳转详情,nav按钮上绑定事件如下: $(document).on("click","#banner-navBox .nav-btn",function(e){ ... }); 但是点击nav按钮的时候看