点击事件在ios上失效的原因及处理

点击事件在ios上失效的原因及处理,第1张

点击事件在IOS上没有绑定成功 原因是在ios系统中,例如document,div,body这些本身并没有可以被点击的属性的元素不能作为托管点击事件的父元素。所以,用这样的方法进行事件托管,ios会获取不到你的document的点击事件,自然无法获取到你想要绑定的元素身上。

解决方法:在绑定点击事件的元素上绑定cursor:pointer

在app的开发过程中我们常常需要在一些非button中添加一些点击事件,来实现我们想要的效果。比如做个下拉选项,我们希望点击背景时选项视图消失,或者我们点击某个图片(uiimageView)时跳转到大图页面或者做其他 *** 作。也许初学者会郁闷。。。这些怎么添加点击事件呢?点击事件不是只有button才能添加么?其实只要是继承 uiview的空间,你都可以手动的添加一些点击事件。

让我们看看是怎么实现的吧。

UITapGestureRecognizer*tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:selfaction:@selector(Actiondo:)]

[uiview addGestureRecognizer:tapGesture]

其实理解起来也很简单,就是新建一个UITapGestureRecognizer,这个是点击事件,再将这个事件加到uiview中,继承uiview的一般都有addGestureRecognizer这个方法。addGestureRecognizer方法就是用于添加点击事件的。

我们再定义一个Actiondo的响应方法。

-(void)Actiondo:(id)sender{}

将我们需要的动作添加在其中就可以了。

好了,UITapGestureRecognizer的使用就是这样了。赶快试一下吧!

经过分析,发现网页中存在类似如下的代码:

<img src="pic.gif" onerror="javascript:this.src='/noPic.gif'" alt="pic" />

分析:特别注意 onerror,当图片不存在时,将触发 onerror,而 onerror

中又为 img 指定一个 NoPic.gif 图片。也就是说图片存在则显示 pic.gif,图片不存在将显示

noPic.gif。但问题来了,如果 noPic.gif 也不存在,则继续触发 onerror,导致循环,故出现错误。

说明:如果图片存在,但网络很不通畅,也可能触发 onerror。

解决方法:

第一种::.去掉 onerror 代码;或者更改 onerror 代码为其它;或者确保 onerror 中的图片足够小,并且存在。

第二种:

<script type="text/javascript">

<!–

function nofind(){

var img=event.srcElement

img.src="http://www.cnblogs.com/sys/common/image/fileoperation/icon/default.gif"

img.onerror=null控制不要一直跳动

}

//–>

</script>

<td align="center"><img

src="http://www.cnblogs.com/sys/common/image/fileoperation/icon/${file.suffix

}.gif" onerror="nofind()" />${file.name }</td>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11619591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存