08.JS逻辑交互

事件绑定

<view>
  <text bindtap="myClick">点我</text>
</view>
Page({

  myClick(){
    console.log('click');
  }
 
});

 

事件冒泡

view和text都绑定事件

<view bindtap='viewClick'>
  <text bindtap="textClick">点我</text>
</view>

js部分

Page({

  viewClick(){
    console.log('viewClick');
  },

  textClick(){
    console.log('textClick');
  }
 
});

css部分

view{ width: 300rpx; height: 150rpx; border: 1rpx solid red;}
text{ border: 1rpx solid green;}

当我们点击这里

会触发2个click事件,解决的方法是text的bindtap事件改成catchtap

<view bindtap='viewClick'>
  <text catchtap="textClick">点我</text>
</view>

微信小程序提供了很多冒泡事件,我们只学习了 tap,其他的在后面遇到会逐个使用,
这里可以参考微信小程序手册文档,共以下事件:
touchstart: 手指触摸
touchmove: 手指触摸后移动
touchcancel: 手指触摸动作被打断,如来电提醒、弹窗
touchend: 手指触摸动作结束
tap:手指触摸后离开(最常用的一种事件)
longtap: 手指触摸后,超过 250ms 再离开

 

事件对象

1.通过传一个参数得到这个事件对象;

/**
* 用户事件绑定
*/
myTextClick : function (e) {
    console.log(e);
},

2.type 属性表示事件类型

//得到 tag 表示触摸后离开
console.log(e.type);

3.timeStamp 属性表示触发事件经过的毫秒数

//触摸弹起之间的毫秒数
console.log(e.timeStamp);

4.target 属性表示触发的组件

//获取组件的源
console.log(e.target);

其中 id 子属性表示组件的 id,dataset 属性表示 data-开头的自定义属性集合,offsetLeft 和 offsetTop 表示组件坐标。

5.touches 属性

//获取触摸点
console.log(e.touches);

其中 pageX 和 pageY 距离文档左上角的距离,clientX 和 clientY 距离页面可显示区域左上角的距离。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值