cocos2d-js没有完整的鼠标事件处理,这点比js/flash的要差一些,不过凑合着也可以用了。
一般界面编程,可以用显示列表的Node作为监听器的优先级,在上方的会比下方的高优先级。
而cocos2d-js没有stopImmediatePropagation,只有stopProgapation,一旦某个监听器中执行了stopProgapation,后续的监听器都不会被执行。这里并没有js/flash的冒泡概念。
如果在上层Node中stopProgapation,那么效果就有点像设置了swallowTouches:true,但会更灵活
例子:
界面上添加2个sprite,child1在下,child2在上。
如下的代码,child2的监听器优先级高,会首先执行,其中func2会先输出,因为按顺序执行,但由于stopProgapation,所以child1的监听器不会被执行。
        if("touches" in cc.sys.capabilities){cc.eventManager.addListener({event: cc.EventListener.TOUCH_ONE_BY_ONE, onTouchBegan: function(){trace("func1");return true;}}, this.child1);cc.eventManager.addListener({event: cc.EventListener.TOUCH_ONE_BY_ONE, onTouchBegan: function(touch,event){trace("func2");     //按顺序执行,先func2,再func3return true;}}, this.child2);cc.eventManager.addListener({event: cc.EventListener.TOUCH_ONE_BY_ONE, onTouchBegan: function(touch,event){trace("func3");event.stopPropagation();return true;}}, this.child2);}else{cc.eventManager.addListener({event: cc.EventListener.MOUSE, onMouseDown: function(){trace("func1");}}, this.child1);cc.eventManager.addListener({event: cc.EventListener.MOUSE, onMouseDown: function(event){trace("func2");     //按顺序执行,先func2,再func3}}, this.child2);cc.eventManager.addListener({event: cc.EventListener.MOUSE, onMouseDown: function(event){trace("func3");event.stopPropagation();}}, this.child2);}

转载于:https://www.cnblogs.com/kenkofox/p/3974998.html

事件响应的优先级、stopProgapation禁止下层组件响应相关推荐

  1. Java-GUI编程实战之管理系统 Day2【Swing(组件介绍、布局管理器、事件类及监听器类)、基础组件按钮和输入框的用法】

    视频.课件.源码[链接:https://pan.baidu.com/s/13ffqGDzH-DZib6-MFViW3Q 提取码:zjxs] Java-GUI编程实战之管理系统 Day1[项目开发流程. ...

  2. 【微信小程序】小程序显示弹窗时禁止下层的内容滚动|遮罩层滚动穿透

    小程序显示弹窗时禁止下层的内容滚动|遮罩层滚动穿透 第一种方式 页面上加catchtouchmove="consume" JS // 把这个事件给消耗掉,这是是必须写的, 不写是可 ...

  3. STM32的中断优先级说明(抢占式与响应式优先级)

    注:查看寄存器请看<ARM Cortex-M4权威指南>,由于本人采用库开发,所以就不深究寄存器了.总结资料来源于原子的<STM32F4库开发指南>,总结于此,方便查找. ST ...

  4. php服务器响应http请求,脚本化HTTP 取得响应 指定请求

    脚本化HTTP 下面将会用js代码操纵HTTP 下面将会说明在没有导致web浏览器重新加载任何窗口或者窗体的情况下,脚本实现web浏览器和服务器之间的通信. ajax:为一种找早起避免页面重载而动态更 ...

  5. 使用vertx构建响应式微服务-第三章 创建响应式微服务(Building Reactive Microservices)

    在这一章我们将用Vert.x创建我们的第一个微服务.由于大多数微服务使用HTTP交互,我们也从学习制作HTTP微服务开始. 但是, 由于系统包含多个通信 microservices, 我们将构建另一个 ...

  6. response获取响应内容_Project Reactor 深度解析 - 1. 响应式编程介绍,实现以及现有问题

    现在, Java 的各种基于 Reactor 模型的响应式编程库或者框架越来越多了,像是 RxJava,Project Reactor,Vert.x 等等等等.在 Java 9, Java 也引入了自 ...

  7. Vue 响应式原理(双向数据绑定) 怎样实现 响应式原理?

    Vue 响应式原理(双向数据绑定) 怎样实现 响应式原理? 我们在Vue里面,定义在Data里的属性,叫做响应式属性. 每一个vue组件被创建的时候,同时还有一个对象被创建出来了,这个对象我们是看不到 ...

  8. fiddler 自动响应数据保存_想测试HTTP响应不知道如何开展怎么办?

    切换至Fiddler,点击测试小伙伴在日常工作中.特别是接口测试时,需要经常和HTTP协议打交道,其中服务器返回的响应数据是接口测试的重要组成部分,这就需要各位小伙伴熟练掌握HTTP响应的组成.如何修 ...

  9. html怎么做成响应式的,怎么用html5完成响应式布局?

    怎么用html5完成响应式布局?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 怎么用5完成响应式布局? 步骤1 建立空 ...

最新文章

  1. ionic 项目中添加modal的步骤流程
  2. ios 登录 java 后台,IOS苹果登录sign in with apple后端校验
  3. Macbook 中如何通过命令行打开 vscode
  4. 【PAT甲级 sc.nextInt()的使用】1008 Elevator (20 分) Java版 9/9通过
  5. Java中 a+=b和a=a+b有什么区别?
  6. 批量保存到mysql_关于保存批量数据进入mysql
  7. EF Core:一统SQL和NoSQL数据库
  8. qr分解求线性方程组_梯度下降求解线性方程组算例设计
  9. IOS 单行文本输入框 UITextField 使用
  10. 服务器部署ssl证书,Apache服务器SSL证书部署
  11. 石家庄医学高等专科学校计算机二级,石家庄人民医学高等专科学校2021年排名...
  12. 转载:面向站长和网站管理员的Web缓存加速指南
  13. 【渝粤教育】国家开放大学2018年秋季 8660-22T (1)农科化学基础知识 参考试题
  14. 常用的Linux的命令
  15. git 设置用户只需要输入一次账号密码
  16. 分享从零开始学习网络设备配置--2.1 交换机基本配置
  17. 【opencv-ml】支持向量机简介
  18. uni 获取本地文件_uni-app 图片(文件) 本地存储解决方案
  19. php过滤只匹配中英文字符串
  20. 快速清除字符串边上的空格

热门文章

  1. Roman to Integer LeetCode Java
  2. C# .NET 根据Url链接保存Image图片到本地磁盘
  3. Python 生成MYSQL inser语句
  4. Struts2知识整理
  5. 转: 回车(CR)与换行(LF), '\r'和'\n'的区别
  6. Flutter Android/iOS包大小分析
  7. C#只能lock 引用类型的值 (转载)
  8. ipvsadm+keepalived安装错误解决
  9. 并发编程之 锁的优化有哪些
  10. div背景图 等比缩放