ios点击事件失效

当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效。

解决办法有 4 种可供选择:

?1、将 click 事件直接绑定到目标?元素(??即 .target)上
2、将目标?元素换成a或者 button 等可点击的?元素
?3、将 click 事件委托到?????非 document 或 body 的??父级元素上
?4、给?目标元素加一条样式规则 cursor: pointer;
?推荐后两种。从解决办法来看,?推测在 safari 中,不可点击的元素的点击事件不会冒泡到父级元素。通过添加 cursor: pointer 使得元素变成了可点击的了。

原因是:Safari不希望不可点击的元素可点击。

这里有详细的回答 HTML label command doesn’t work in Iphone browser

时间: 2024-11-06 03:11:20

ios点击事件失效的相关文章

ios移动端浏览器点击事件失效的解决方案

点击事件失效的原因可能是因为,你用了事件代理了, 比如这样 $(document).on("click",".fd",function(){ }) 这段代码在安卓机上是没有问题的,但是iso的自带浏览器和微信浏览器和其他浏览器都会失效,原因是ios规定,事件代理的元素只能是button元素其他一律不生效 想要解决这个问题,也很简单 1. $(document).on("click","button",function(){ }

[转]iOS Safari 中click点击事件失效的解决办法

iOS Safari 中click点击事件失效的解决办法 问题起因: 在微信公众号开发(微站)过程中用jquery的live方法绑定的click事件点击无效(不能执行) 问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 解决办法 解决办法有 4 种可供选择: ?将 click 事件直接绑定到目标?元素(??即 .target)上 将目标?元素换成 

jQuery模拟鼠标点击事件失效的问题

最近使用jQuery操作浏览器获取数据,需要对分页的信息进行处理,发现直接使用$('div#pager a.next').click();的这种写法无法触发点击事件. 使用trigger('click')的写法也是无济于事. 在网上一顿扒拉后,发现使用$('div#pager a.next')[0].click();就OK了. $('div#pager a.next')[0]这种写法其实就相当于把jQuery对象转换为Dom对象了. 模拟点击不生效的原因 如果使用jQuery的写法:$('a#t

android中listview点击事件失效的灵异事件

首先说明一下我想实现的功能: 点击某个item之后,让其颜色发生变化.如果变化网上有很多例子,我就不班门弄斧了.Listview之所以点击没有反应是因为上图中绿色部分(自己定义的一个继承BaseAdapter的adapter来适应listview)将listview的item覆盖了.现在点击的只是自定义的adapter中的convertView. 其次,自定义的adapter中包含一个ImageView和二个TextView.代码如下: <?xml version="1.0" e

ext 3.2 tree 在IE10中点击事件失效的bug

ext3.2 中的tree在IE中进行兼容性测试,遇到IE10时,无法点击,其他版本的IE(7.8.9.11)均正常.此bug是由于ext-all.js中的getAttributeNS方法不能兼容IE10出错引起的,下载了ext3.4,这里的getAttributeNS 被重写了,将3.4中的方法写入3.2中的ext-all.js文件中,IE10中tree恢复正常. 修改前: getAttributeNS: Ext.isIE ? function(s, q) { var t = this.dom

angularJs 多文件动态上传(删除其中一个文件的时候,要么file没被删除,要么删除了之后,点击事件失效)

<div cacModule.controller('CacScriptEditCtrl', CacScriptEditCtrl); CacScriptEditCtrl.$inject = ['$uibModalInstance', '$scope', '$compile', '$scope', 'cacScriptService', 'messageService', 'entity']; function CacScriptEditCtrl($uibModalInstance, $scope

ListView点击事件失效(item里面有button按钮控件)解决方法

ListView点击事件失效解决方法: 一般出现这个情况,就是你的item里面有按钮的点击事件,你的item里面有button控件,button控件是抢占焦点的,只要在你的item布局里面这样子写就可以了: <Button android:layout_width="140px" android:layout_height="56px" android:text="按钮" android:textSize="28px"

iOS Safari 中点击事件失效的解决办法

问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 可以使用下面的代码在 iOS 中进行测试. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content=&qu

iOS Safari 中click点击事件失效的解决办法

问题起因: 在微信公众号开发(微站)过程中用jquery的live方法绑定的click事件点击无效(不能执行) 问题描述 当使用委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. 解决办法 解决办法有 4 种可供选择: ?将 click 事件直接绑定到目标?元素(??即 .target)上 将目标?元素换成 <a> 或者 button 等可点击的?元素 ?将 cl