touches 事件捕获不到

在UIView上加载了一个UIScrollView(全屏),touches 事件捕获不到了

原因:UIView的touch事件被UIScrollView捕获了,无法传递下去

解决方法:写一个UIScrollView的category,在每个使用UIScrollView的地方将该类别导入

1、创建类别 file为UITouch class为UIScrollView

2、.m里内容

#import "UIScrollView+UITouch.h"

@implementation UIScrollView (UITouch)

-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event {

[[self nextResponder] touchesBegan:touches withEvent:event];

[super touchesBegan:touches withEvent:event];

}

-(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent *)event {

[[self nextResponder] touchesMoved:touches withEvent:event];

[super touchesMoved:touches withEvent:event];

}

-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent *)event {

[[self nextResponder] touchesEnded:touches withEvent:event];

[super touchesEnded:touches withEvent:event];

}

@end

3、在需要的界面#import该文件

时间: 2024-11-14 12:17:00

touches 事件捕获不到的相关文章

js学习笔记26----事件冒泡,事件捕获

事件冒泡 : 当一个元素接收到事件的时候,会把它接收到的所有传播给它的父级.一直到顶层window.这种现象称之为事件冒泡机制.出去的事件触发. 阻止冒泡 : 当前要阻止冒泡的事件函数中,调用 event.cancelBubble = true; 事件捕获 : ie下是没有的,在绑定事件中,标准下是有的.进来的事件触发. 给对象绑定函数的形式: 1.给一个对象绑定一个事件处理函数: obj.onclick = fn; 2.给一个对象的同一个事件绑定多个不同的函数: ie : obj.attach

js之事件冒泡和事件捕获详细介绍

(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div -> body -> html -> document Mozilla 1.0: div -> body -> html -> document -> window (2)捕获型事件(event capturing):事件从最不精确的对象(document 对象)开

关于事件捕获和事件冒泡

这篇随笔主要是写关于事件冒泡和事件捕获的一些关联,主要是从<JavaScript高级程序设计>这本书第13章总结扩展而来,今天主要是想扩展对书本里面P358页以及加深一下理解. 一.先说一下定义: 事件冒泡阶段:从最具体的元素,即目标事件位置往文档的根节点方向回溯,从内向外冒泡事件对象(所有浏览器都支持). 事件捕获阶段:先由文档的根节点document往事件触发对象,从外向内捕获事件对象(DOM2级事件要求时间从document对象开始传播,但是IE9,Safari,Chrome,Opera

JS事件(事件冒泡和事件捕获)

事件流:描述的是在页面中接收事件的顺序 事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档) 事件捕获:最不具体的节点先接收事件,而最具体的节点应该是最后接收事件 DOM中:用于处理指定和删除事件处理程序的操作addEventListener()和removeEventListener().他们都接收三个参数:要处理的事件名.作为事件处理程序的函数和布尔值(事件处理的时候)[true:事件捕获时;false:事件冒泡时] DOM中的事件对象: type属性 用于获取事件类

事件机制(事件冒泡与事件捕获)

<div id="outer"> <p id="inner">Click me!</p> </div> 事件冒泡 微软提出了名为事件冒泡(event bubbling)的事件流.时间冒泡就是指事件会从最内层的元素开始发生,一直向上传播,直到document对象. 因此上面的例子在事件冒泡的概念下发生click事件的顺序应该是p -> div -> body -> html -> document

js 事件冒泡和事件捕获

(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div -> body -> html -> document Mozilla 1.0: div -> body -> html -> document -> window (2)捕获型事件(event capturing):事件从最不精确的对象(document 对象)开

js中事件冒泡和事件捕获

什么时候存在这种问题? 当一个行为触发了多个对象的事件时. <body> <div class="fa"> <div class="son1"> <div class="son2"></div> </div> </div> <script type="text/javascript"> var fa = document.getEl

使用事件捕获实时捕获img是否加载完毕

如何判断在html中图片加载完毕呢? 给img图片加onload事件呗. 如何判断一个界面中所有的图片加载完毕呢? 给所有的图片加上onload事件呗. 如果有1000张图片那要怎么绑定事件呢? 我们用事件冒泡捕获, JS中神奇的事件冒泡捕获, 而且只要给父节点绑定一个事件就好了:(但是这样有个缺点) 这个是一个很重要的结论: 经过我的实验, 发现img标签加载成功以后的onload事件不会冒泡到他的父元素, 或者是body节点上. 但是我们通过addEventListener绑定事件捕获, 可

看懂此文,不再困惑于javascript中的事件绑定、事件冒泡、事件捕获和事件执行顺序

最近一个项目基于3维skyline平台,进行javascript二次开发.对skyline事件的设计真是无语至极,不堪折磨啊!抽空学习了下javascript和jquery的事件设计,收获颇大,总结此贴,和大家分享. (一)事件绑定的几种方式 javascript给DOM绑定事件处理函数总的来说有2种方式:在html文档中绑定.在js代码中绑定.下面的方式1.方式2属于在html中绑定事件,方式3.方式4和方式5属于在js代码中绑定事件,其中方法5是最推荐的做法. 方式1: HTML的DOM元素