标签:触发 冒泡 06 程序 currentTarget 学习 事件 演练 属性
不存在十全十美的文章 如同不存在彻头彻尾的绝望
目录
事件的介绍
什么时候会产生事件呢?
- 小程序需要经常和用户进行某种交互,比如点击界面上的某个按钮或者区域,比如滑动了某个区域;
- 这些交互都会产生各种各样的事件;
事件时如何处理呢?
- 事件是通过bind/catch这个属性绑定在组件上的(和普通的属性写法很相似, 以key=“value”形式);
- key以bind或catch开发, 从1.5.0版本开始, 可以在bind和catch后加上一个冒号;
- 同时在当前页面的Page构造器中定义对应的事件处理函数tapName, 如果没有对应的函数, 触发事件时会报 错
- 当用户点击该button区域时,达到触发条件生成事件tap,该事件处理函数tapName会被执行,同时还会收 到一个事件对象event。
事件的简单演练
常见事件类型
某些组件会有自己特性的事件类型
- 比如input有bindinput/bindblur/bindfocus等
- 比如scroll-view有bindscrolltowpper/bindscrolltolower等
这里是几个组件都有的, 并且也比较常见的事件类型:
事件类型演练
有两个注意点:
- Touchcancle: 在某些特定场景下才会触发(比如来电打断等)
- tap事件和longpress事件通常只会触发其中一个
事件对象介绍
当某个事件触发时, 会产生一个事件对象, 并且这个对象被传入到回调函数中, 事件对象有常见属性
touches和changedTouches的区别
- 在touchend中不同
- 多手指触摸时不同
currentTarget和target的区别
事件参数的传递
当视图层发生事件时,某些情况需要事件携带一些参数到执行的函数中, 这个时候就可以通过data-属性来完成:
格式:data-属性的名称
获取:e.currentTarget.dataset.属性的名称
事件冒泡和事件捕获
当界面产生一个事件时,事件分为了捕获阶段和冒泡阶段。
标签:触发,冒泡,06,程序,currentTarget,学习,事件,演练,属性 来源: https://blog.csdn.net/Lamour99/article/details/119322581
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。